mirror of
				https://github.com/Cisco-Talos/clamav.git
				synced 2025-10-31 08:00:54 +00:00 
			
		
		
		
	
		
			
	
	
		
			77 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			77 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
|   | #!/bin/sh | ||
|  | # sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh | ||
|  | 
 | ||
|  | # Bzcmp/diff wrapped for bzip2,  | ||
|  | # adapted from zdiff by Philippe Troin <phil@fifi.org> for Debian GNU/Linux. | ||
|  | 
 | ||
|  | # Bzcmp and bzdiff are used to invoke the cmp or the  diff  pro- | ||
|  | # gram  on compressed files.  All options specified are passed | ||
|  | # directly to cmp or diff.  If only 1 file is specified,  then | ||
|  | # the  files  compared  are file1 and an uncompressed file1.gz. | ||
|  | # If two files are specified, then they are  uncompressed  (if | ||
|  | # necessary) and fed to cmp or diff.  The exit status from cmp | ||
|  | # or diff is preserved. | ||
|  | 
 | ||
|  | PATH="/usr/bin:/bin:$PATH"; export PATH | ||
|  | prog=`echo $0 | sed 's|.*/||'` | ||
|  | case "$prog" in | ||
|  |   *cmp) comp=${CMP-cmp}   ;; | ||
|  |   *)    comp=${DIFF-diff} ;; | ||
|  | esac | ||
|  | 
 | ||
|  | OPTIONS= | ||
|  | FILES= | ||
|  | for ARG | ||
|  | do | ||
|  |     case "$ARG" in | ||
|  |     -*)	OPTIONS="$OPTIONS $ARG";; | ||
|  |      *)	if test -f "$ARG"; then | ||
|  |             FILES="$FILES $ARG" | ||
|  |         else | ||
|  |             echo "${prog}: $ARG not found or not a regular file" | ||
|  | 	    exit 1 | ||
|  |         fi ;; | ||
|  |     esac | ||
|  | done | ||
|  | if test -z "$FILES"; then | ||
|  | 	echo "Usage: $prog [${comp}_options] file [file]" | ||
|  | 	exit 1 | ||
|  | fi | ||
|  | tmp=`mktemp ${TMPDIR:-/tmp}/bzdiff.XXXXXXXXXX` || { | ||
|  |       echo 'cannot create a temporary file' >&2 | ||
|  |       exit 1 | ||
|  | } | ||
|  | set $FILES | ||
|  | if test $# -eq 1; then | ||
|  | 	FILE=`echo "$1" | sed 's/.bz2$//'` | ||
|  | 	bzip2 -cd "$FILE.bz2" | $comp $OPTIONS - "$FILE" | ||
|  | 	STAT="$?" | ||
|  | 
 | ||
|  | elif test $# -eq 2; then | ||
|  | 	case "$1" in | ||
|  |         *.bz2) | ||
|  |                 case "$2" in | ||
|  | 	        *.bz2) | ||
|  | 			F=`echo "$2" | sed 's|.*/||;s|.bz2$||'` | ||
|  |                         bzip2 -cdfq "$2" > $tmp | ||
|  |                         bzip2 -cdfq "$1" | $comp $OPTIONS - $tmp | ||
|  |                         STAT="$?" | ||
|  | 			/bin/rm -f $tmp;; | ||
|  | 
 | ||
|  |                 *)      bzip2 -cdfq "$1" | $comp $OPTIONS - "$2" | ||
|  |                         STAT="$?";; | ||
|  |                 esac;; | ||
|  |         *)      case "$2" in | ||
|  | 	        *.bz2) | ||
|  |                         bzip2 -cdfq "$2" | $comp $OPTIONS "$1" - | ||
|  |                         STAT="$?";; | ||
|  |                 *)      $comp $OPTIONS "$1" "$2" | ||
|  |                         STAT="$?";; | ||
|  |                 esac;; | ||
|  | 	esac | ||
|  |         exit "$STAT" | ||
|  | else | ||
|  | 	echo "Usage: $prog [${comp}_options] file [file]" | ||
|  | 	exit 1 | ||
|  | fi |