#!/bin/sh
#
# Copyright 1997, Silicon Graphics, Inc.
# ALL RIGHTS RESERVED
# 
# UNPUBLISHED -- Rights reserved under the copyright laws of the United
# States.   Use of a copyright notice is precautionary only and does not
# imply publication or disclosure.
# 
# U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
# Use, duplication or disclosure by the Government is subject to restrictions
# as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
# in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
# in similar or successor clauses in the FAR, or the DOD or NASA FAR
# Supplement.  Contractor/manufacturer is Silicon Graphics, Inc.,
# 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
# 
# THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
# INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
# DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
# PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
# GRAPHICS, INC.
#
# Use the file "magic" in this directory to update /etc/magic
#
# $Id: update-magic,v 1.5 1999/04/26 23:33:29 kenmcd Exp $

status=1	# presume failure
tmp=/tmp/$$
trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15

if [ ! -f /etc/magic ]
then
    echo "$0: Error: cannot find /etc/magic: No such file or directory"
    exit
fi

if [ ! -w /etc/magic ]
then
    echo "$0: Error: /etc/magic is not writeable"
    exit
fi

# build nawk script to cull old stuff from /etc/magic
#
rm -f $tmp.cut
echo "# script for culling entries from /etc/magic" >$tmp.cut
echo "# made by $0 on `date`" >>$tmp.cut
grep '^#!cut' magic \
| nawk '{ pat=$3
	  for (i=4; i<=NF; i++) pat = pat " " $i
	  printf "/%s/\t{ skip = 1; next }\n",pat
	}' >>$tmp.cut
echo >>$tmp.cut '
skip == 1 && /^[^>]/	{ skip = 0 }
skip == 0		{ print }'

# cut
#
nawk -f $tmp.cut /etc/magic >$tmp.magic

# paste
#
grep -v '^#!' magic >>$tmp.magic

# changes?
#
if cmp -s /etc/magic $tmp.magic
then
    :
else
    if [ ! -w /etc/magic ]
    then
	echo "$0: Error: cannot update /etc/magic: Permission denied"
	exit
    fi
    # install new /etc/magic
    #
    cp $tmp.magic /etc/magic
fi

status=0
