summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristos Zoulas <christos@zoulas.com>1993-09-23 21:47:01 +0000
committerChristos Zoulas <christos@zoulas.com>1993-09-23 21:47:01 +0000
commitb5e9d75b5743536d765a20c6e18c9fd4a72fbaa2 (patch)
treeec20af045cb5283e647489933b3af72d27ec32c1
parentcdf0265e484f5d337c42b5c8906f4649d5def9bc (diff)
downloadfile-git-b5e9d75b5743536d765a20c6e18c9fd4a72fbaa2.tar.gz
*** empty log message ***
-rw-r--r--MAINT6
-rw-r--r--README15
-rw-r--r--magic/Magdir/att3b4
-rw-r--r--magic/Magdir/audio66
-rw-r--r--magic/Magdir/commands6
-rw-r--r--magic/Magdir/compress22
-rw-r--r--magic/Magdir/hp38
-rw-r--r--magic/Magdir/images4
-rw-r--r--magic/Magdir/linux12
-rw-r--r--magic/Magdir/mmdf2
-rw-r--r--magic/Magdir/old/ar26
-rw-r--r--magic/Magdir/old/sunraster12
-rw-r--r--magic/Magdir/pgp5
-rw-r--r--magic/Magdir/sequent36
-rw-r--r--magic/Magdir/sun18
-rw-r--r--magic/Magdir/tex20
-rw-r--r--magic/Magdir/vax4
-rw-r--r--src/Makefile4
-rw-r--r--src/PORTING4
-rw-r--r--src/file.c5
-rw-r--r--src/file.h4
-rw-r--r--src/softmagic.c37
22 files changed, 219 insertions, 131 deletions
diff --git a/MAINT b/MAINT
index c35697b0..7fc5e363 100644
--- a/MAINT
+++ b/MAINT
@@ -1,4 +1,4 @@
-$Id: MAINT,v 1.1 1992/06/30 13:11:10 ian Exp $
+$Id: MAINT,v 1.2 1993/09/23 21:47:01 christos Exp $
Maintenance notes:
@@ -29,5 +29,5 @@ your changed version.
Thank you for your assistance and cooperation.
-Ian Darwin.
-ian@sq.com
+Mark Moraes Christos Zoulas
+moraes@deshaw.com christos@deshaw.com
diff --git a/README b/README
index a398fed4..2ee8e677 100644
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
** README for file(1) Command **
-@(#) $Id: README,v 1.19 1993/04/05 10:18:56 ian Exp $
+@(#) $Id: README,v 1.20 1993/09/23 21:47:01 christos Exp $
This is Release 3.x of Ian Darwin's (copyright but distributable)
file(1) command. Release 3.x is scheduled for inclusion in the
@@ -35,7 +35,7 @@ In addition, the /etc/magic file is built from a subdirectory
for easier(?) maintenance. I will act as a clearinghouse for
magic numbers assigned to all sorts of data files that
are in reasonable circulation. Send your magic numbers,
-in magic(4) format please, to the author, Ian Darwin.
+in magic(4) format please, to the maintainer, Christos Zoulas.
LEGAL.NOTICE - read this first.
README - read this second (you are currently reading this file).
@@ -67,17 +67,8 @@ strtok.c, getopt.c - in case you them (courtesy of Henry Spencer).
strtol.c, strchr.c - in case you need them - public domain.
tst - simple test suite, built from tst/Makefile
-Ian Darwin
-Darwin Open Systems
-R R 1
-Palgrave, Ontario L0N 1P0
-Canada
-E-mail: darwin@cs.toronto.edu
- ian@sq.com
- utzoo!ian
- ian@darwin.uucp
- uunet!sq!ian
+E-mail: christos@deshaw.com, moraes@deshaw.com
Phone: Do not even think of telephoning me about this program. Send cash first!
diff --git a/magic/Magdir/att3b b/magic/Magdir/att3b
index dfd46700..c1e9e39f 100644
--- a/magic/Magdir/att3b
+++ b/magic/Magdir/att3b
@@ -32,3 +32,7 @@
#>18 beshort &00020000 - 32100 required
#>18 beshort &00040000 and mau hardware required
#>22 beshort >0 - version %ld
+#
+# core file for 3b2
+0 string \000\004\036\212\200 3b2 core file
+>364 string >\0 of '%s'
diff --git a/magic/Magdir/audio b/magic/Magdir/audio
index 743c4b65..6b4cb364 100644
--- a/magic/Magdir/audio
+++ b/magic/Magdir/audio
@@ -1,27 +1,43 @@
-# Sound formats, from Jan Nicolai Langfeldt <janl@ifi.uio.no>
#
-# XXX -what the hell is the "mips" stuff doing there? It looks like
-# the archive stuff from "iris"....
+# Sound formats, from Jan Nicolai Langfeldt <janl@ifi.uio.no>,
#
-0 string .snd audio data:
->12 long 1 8-bit u-law,
->12 long 2 8-bit linear PCM,
->12 long 3 16-bit linear PCM,
->12 long 4 24-bit linear PCM,
->12 long 5 32-bit linear PCM,
->12 long 6 32-bit floating point,
->12 long 7 64-bit floating point,
->12 long 23 compressed (G.721 ADPCM),
->20 long 1 mono,
->20 long 2 stereo,
->20 long 4 quad,
->16 long x %d Hz
-8 long 0x41494646 AIFF sound data file
-0 long 0x4e54524b MultiTrack sound data file
->4 long x - version %ld
->20 string U with mipsucode members
->21 string L with mipsel members
->21 string B with mipseb members
->19 string L and a EL hash tabl
->19 string B and a EB hash tabl
->22 string X -- out of date
+
+# Sun/NeXT audio data
+0 string .snd audio data:
+>12 belong 1 8-bit u-law,
+>12 belong 2 8-bit linear PCM,
+>12 belong 3 16-bit linear PCM,
+>12 belong 4 24-bit linear PCM,
+>12 belong 5 32-bit linear PCM,
+>12 belong 6 32-bit floating point,
+>12 belong 7 64-bit floating point,
+>12 belong 23 compressed (G.721 ADPCM),
+>20 belong 1 mono,
+>20 belong 2 stereo,
+>20 belong 4 quad,
+>16 belong x %d Hz
+# DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format
+# that uses little-endian encoding and has a different magic number
+# (0x0064732E in little-endian encoding).
+0 lelong 0x0064732E DEC audio data:
+>12 lelong 1 8-bit u-law,
+>12 lelong 2 8-bit linear PCM,
+>12 lelong 3 16-bit linear PCM,
+>12 lelong 4 24-bit linear PCM,
+>12 lelong 5 32-bit linear PCM,
+>12 lelong 6 32-bit floating point,
+>12 lelong 7 64-bit floating point,
+>12 lelong 23 compressed (G.721 ADPCM),
+>20 lelong 1 mono,
+>20 lelong 2 stereo,
+>20 lelong 4 quad,
+>16 lelong x %d Hz
+# Bytes 0-3 of AIFF, AIFF-C, & 8SVX audio files are "FORM"
+8 string AIFF AIFF audio data
+8 string AIFC AIFF-C audio data
+8 string 8SVX IFF/8SVX audio data
+# Bytes 0-3 of Waveform (*.wav) audio files are "RIFF"
+8 string WAVE Waveform audio data
+0 string Creative\ Voice\ File Soundblaster audio data
+0 long 0x4e54524b MultiTrack sound data file
+>4 long x - version %ld
diff --git a/magic/Magdir/commands b/magic/Magdir/commands
index b6357e38..64522f80 100644
--- a/magic/Magdir/commands
+++ b/magic/Magdir/commands
@@ -30,3 +30,9 @@
0 string #!/bin/perl perl commands text
0 string #!\ /bin/perl perl commands text
0 string eval\ "exec\ /bin/perl perl commands text
+0 string #!/usr/bin/perl perl commands text
+0 string #!\ /usr/bin/perl perl commands text
+0 string eval\ "exec\ /usr/bin/perl perl commands text
+0 string #!/usr/local/bin/perl perl commands text
+0 string #!\ /usr/local/bin/perl perl commands text
+0 string eval\ "exec\ /usr/local/bin/perl perl commands text
diff --git a/magic/Magdir/compress b/magic/Magdir/compress
index 30841ee8..744a1b1a 100644
--- a/magic/Magdir/compress
+++ b/magic/Magdir/compress
@@ -2,17 +2,10 @@
# Formats for various forms of compressed data
# Formats for "compress" proper have been moved into "compress.c",
# because it tries to uncompress it to figure out what's inside.
+
+# According to gzip.h, this is the correct byte order for packed data.
#
-# XXX - the two "packed data" versions are byte-swapped versions of
-# one another; is that because the 2-byte magic number is written
-# out in native byte order, with "unpack" figuring out the byte order
-# from the magic number (in which case both can be left as is, or
-# changed to specify a byte order *and* to indicate the byte order of
-# the packing machine), or because the old "file" didn't have any way of
-# having "magic"-file entries that specified a particular byte order?
-#
-0 short 017436 packed data
-0 short 017037 packed data
+0 string \037\036 packed data
#
# This magic number is byte-order-independent.
@@ -32,9 +25,8 @@
# handle these formats. Note that I can only uncrunch, not crunch, and
# I didn't have a crunched file handy, so the crunch number is untested.
# Keith Waclena <keith@cerberus.uchicago.edu>
-0 short 0x76FF squeezed data (CP/M, DOS)
-0 short 0x76FE crunched data (CP/M, DOS)
-#
+0 leshort 0x76FF squeezed data (CP/M, DOS)
+0 leshort 0x76FE crunched data (CP/M, DOS)
# Freeze
-0 short 0x1f9f Frozen file 2.1
-0 short 0x1f9e Frozen file 1.0
+0 string \037\237 Frozen file 2.1
+0 string \037\236 Frozen file 1.0 (or gzip 0.5)
diff --git a/magic/Magdir/hp b/magic/Magdir/hp
index 1353d8c1..db02e54b 100644
--- a/magic/Magdir/hp
+++ b/magic/Magdir/hp
@@ -151,3 +151,41 @@
0 string msgcat01 HP NLS message catalog,
>8 long >0 %d messages
+
+# addendum to /etc/magic with HP-48sx file-types by phk@data.fls.dk 1jan92
+0 string HPHP48- HP48 binary
+>7 byte >0 - Rev %c
+>8 short 0x1129 (ADR)
+>8 short 0x3329 (REAL)
+>8 short 0x5529 (LREAL)
+>8 short 0x7729 (COMPLX)
+>8 short 0x9d29 (LCOMPLX)
+>8 short 0xbf29 (CHAR)
+>8 short 0xe829 (ARRAY)
+>8 short 0x0a2a (LNKARRAY)
+>8 short 0x2c2a (STRING)
+>8 short 0x4e2a (HXS)
+>8 short 0x742a (LIST)
+>8 short 0x962a (DIR)
+>8 short 0xb82a (ALG)
+>8 short 0xda2a (UNIT)
+>8 short 0xfc2a (TAGGED)
+>8 short 0x1e2b (GROB)
+>8 short 0x402b (LIB)
+>8 short 0x622b (BACKUP)
+>8 short 0x882b (LIBDATA)
+>8 short 0x9d2d (PROG)
+>8 short 0xcc2d (CODE)
+>8 short 0x482e (GNAME)
+>8 short 0x6d2e (LNAME)
+>8 short 0x922e (XLIB)
+0 string %%HP: HP48 text
+>6 string T(0) - T(0)
+>6 string T(1) - T(1)
+>6 string T(2) - T(2)
+>6 string T(3) - T(3)
+>10 string A(D) A(D)
+>10 string A(R) A(R)
+>10 string A(G) A(G)
+>14 string F(.) F(.);
+>14 string F(,) F(,);
diff --git a/magic/Magdir/images b/magic/Magdir/images
index 39970d27..dae6d0af 100644
--- a/magic/Magdir/images
+++ b/magic/Magdir/images
@@ -28,8 +28,8 @@
0 string GIF GIF picture
>3 string 87a - version %s
>3 string 89a - version %s
->6 short >0 %d x
->8 short >0 %d,
+>6 leshort >0 %hd x
+>8 leshort >0 %hd,
>10 byte &0x40 interlaced,
>10 byte&0x07 =0x00 2 colors
>10 byte&0x07 =0x01 4 colors
diff --git a/magic/Magdir/linux b/magic/Magdir/linux
index 7467fc42..512a284b 100644
--- a/magic/Magdir/linux
+++ b/magic/Magdir/linux
@@ -1,9 +1,9 @@
# Values for Linux/i386 binaries, From: Rik Faith <faith@cs.unc.edu>
-2 short 100 Linux/i386
->0 short 0407 executable
->0 short 0410 pure executable
->0 short 0413 demand paged executable
->16 long >0 not stripped
+2 leshort 100 Linux/i386
+>0 leshort 0407 executable
+>0 leshort 0410 pure executable
+>0 leshort 0413 demand paged executable
+>16 lelong >0 not stripped
>0 string Jump jump
# core dump file
-216 long 0421 core file (Linux)
+216 lelong 0421 core file (Linux)
diff --git a/magic/Magdir/mmdf b/magic/Magdir/mmdf
index aa264c37..236c7214 100644
--- a/magic/Magdir/mmdf
+++ b/magic/Magdir/mmdf
@@ -1 +1 @@
-0 long 0x1010101 MMDF mailbox
+0 string \001\001\001\001 MMDF mailbox
diff --git a/magic/Magdir/old/ar b/magic/Magdir/old/ar
index 5ab63aea..80953833 100644
--- a/magic/Magdir/old/ar
+++ b/magic/Magdir/old/ar
@@ -62,5 +62,29 @@
20 long 0xdca7c4fd Rahul Dhesi's "zoo" archive
# ZIP archiver
0 string PK zip archive file
->2 byte >0 - version [%d
+>4 byte x - version
+>4 byte 10 1.0
+>4 byte 20 2.0
+
+2 string -lh LHarc archive data
+>6 byte x type %c
+>20 byte x - header level %d
+# ARJ archive data from jason@jarthur.Claremont.EDU
+0 leshort 0xea60 ARJ archive data
+>5 byte x - version %d,
+>8 byte >0 flags:
+>>8 byte &0x04 multi-volume,
+>>8 byte &0x10 slash switched,
+>>8 byte &0x20 backup,
+>34 string x original name: %s,
+>7 byte 0 os: MS/DOS
+>7 byte 1 os: PRIMOS
+>7 byte 2 os: UNIX
+>7 byte 3 os: Amiga
+>7 byte 4 os: Macintosh
+>7 byte 5 os: OS/2
+>7 byte 6 os: Apple ][ GS
+>7 byte 7 os: Atari ST
+>7 byte 8 os: NeXT
+>7 byte 9 os: VAX/VMS
>3 byte >0 %d]
diff --git a/magic/Magdir/old/sunraster b/magic/Magdir/old/sunraster
index 864055c1..39db3a31 100644
--- a/magic/Magdir/old/sunraster
+++ b/magic/Magdir/old/sunraster
@@ -4,9 +4,9 @@
# XXX - byte order? What about the 386i?
#
0 string \x59\xa6\x6a\x95 rasterfile
->4 long >0 %d
->8 long >0 x %d
->12 long >0 x %d
->20 long 0 old format
->20 long 2 compressed
->24 long 1 with color map
+>4 belong >0 %d
+>8 belong >0 x %d
+>12 belong >0 x %d
+>20 belong 0 old format
+>20 belong 2 compressed
+>24 belong 1 with color map
diff --git a/magic/Magdir/pgp b/magic/Magdir/pgp
index 7d01ed70..39655538 100644
--- a/magic/Magdir/pgp
+++ b/magic/Magdir/pgp
@@ -1,7 +1,8 @@
#
# pgp (pretty good protection)
-0 short 0x9900 pgp key public ring
-0 short 0x9501 pgp key security ring
+0 beshort 0x9900 pgp key public ring
+0 beshort 0x9501 pgp key security ring
+0 beshort 0x9500 pgp key security ring
0 string -----BEGIN\040PGP pgp armored data
>15 string PUBLIC\040KEY\040BLOCK- public key blocK
>15 string MESSAGE- message
diff --git a/magic/Magdir/sequent b/magic/Magdir/sequent
index 24e317b0..bcb70615 100644
--- a/magic/Magdir/sequent
+++ b/magic/Magdir/sequent
@@ -1,10 +1,30 @@
# Sequent information updated by Don Dwiggins <atsun!dwiggins>.
# For Sequent's multiprocessor systems (incomplete).
-0 leshort 0x00ea BALANCE NS32000 .o
-0 leshort 0x10ea BALANCE NS32000 executable (0 @ 0)
->16 lelong >0 not stripped
-0 leshort 0x20ea BALANCE NS32000 executable (invalid @ 0)
->16 lelong >0 not stripped
-0 leshort 0x30ea BALANCE NS32000 standalone executable
->16 lelong >0 not stripped
-# Also need info on Sequent "Symmetry" series...
+0 lelong 0x00ea BALANCE NS32000 .o
+>16 lelong >0 not stripped
+>124 lelong >0 version %ld
+0 lelong 0x10ea BALANCE NS32000 executable (0 @ 0)
+>16 lelong >0 not stripped
+>124 lelong >0 version %ld
+0 lelong 0x20ea BALANCE NS32000 executable (invalid @ 0)
+>16 lelong >0 not stripped
+>124 lelong >0 version %ld
+0 lelong 0x30ea BALANCE NS32000 standalone executable
+>16 lelong >0 not stripped
+>124 lelong >0 version %ld
+#
+# Symmetry information added by Jason Merrill <jason@jarthur.claremont.edu>.
+# Symmetry magic nums will not be reached if DOS COM comes before them;
+# byte 0xeb is matched before these get a chance.
+0 leshort 0x12eb SYMMETRY i386 .o
+>16 lelong >0 not stripped
+>124 lelong >0 version %ld
+0 leshort 0x22eb SYMMETRY i386 executable (0 @ 0)
+>16 lelong >0 not stripped
+>124 lelong >0 version %ld
+0 leshort 0x32eb SYMMETRY i386 executable (invalid @ 0)
+>16 lelong >0 not stripped
+>124 lelong >0 version %ld
+0 leshort 0x42eb SYMMETRY i386 standalone executable
+>16 lelong >0 not stripped
+>124 lelong >0 version %ld
diff --git a/magic/Magdir/sun b/magic/Magdir/sun
index 90d70024..d6ce8093 100644
--- a/magic/Magdir/sun
+++ b/magic/Magdir/sun
@@ -3,48 +3,48 @@
# releases.
# (5.x uses ELF.)
#
-0 belong&0777777 0600413 sparc demand paged
+0 belong&077777777 0600413 sparc demand paged
>0 byte &0x80
>>20 belong <4096 shared library
>>20 belong =4096 dynamically linked executable
>>20 belong >4096 dynamically linked executable
>0 byte ^0x80 executable
>16 belong >0 not stripped
-0 belong&0777777 0600410 sparc pure
+0 belong&077777777 0600410 sparc pure
>0 byte &0x80 dynamically linked executable
>0 byte ^0x80 executable
>16 belong >0 not stripped
-0 belong&0777777 0600407 sparc
+0 belong&077777777 0600407 sparc
>0 byte &0x80 dynamically linked executable
>0 byte ^0x80 executable
>16 belong >0 not stripped
-0 belong&0777777 0400413 mc68020 demand paged
+0 belong&077777777 0400413 mc68020 demand paged
>0 byte &0x80
>>20 belong <4096 shared library
>>20 belong =4096 dynamically linked executable
>>20 belong >4096 dynamically linked executable
>16 belong >0 not stripped
-0 belong&0777777 0400410 mc68020 pure
+0 belong&077777777 0400410 mc68020 pure
>0 byte &0x80 dynamically linked executable
>0 byte ^0x80 executable
>16 belong >0 not stripped
-0 belong&0777777 0400407 mc68020
+0 belong&077777777 0400407 mc68020
>0 byte &0x80 dynamically linked executable
>0 byte ^0x80 executable
>16 belong >0 not stripped
-0 belong&0777777 0200413 mc68010 demand paged
+0 belong&077777777 0200413 mc68010 demand paged
>0 byte &0x80
>>20 belong <4096 shared library
>>20 belong =4096 dynamically linked executable
>>20 belong >4096 dynamically linked executable
>16 belong >0 not stripped
-0 belong&0777777 0200410 mc68010 pure
+0 belong&077777777 0200410 mc68010 pure
>0 byte &0x80 dynamically linked executable
>0 byte ^0x80 executable
>16 belong >0 not stripped
-0 belong&0777777 0200407 mc68010
+0 belong&077777777 0200407 mc68010
>0 byte &0x80 dynamically linked executable
>0 byte ^0x80 executable
>16 belong >0 not stripped
diff --git a/magic/Magdir/tex b/magic/Magdir/tex
index 20ee02b8..734bedd5 100644
--- a/magic/Magdir/tex
+++ b/magic/Magdir/tex
@@ -3,9 +3,23 @@
#
# XXX - needs byte-endian stuff (big-endian and little-endian DVI?)
#
-0 short 0173402 DVI File
+# From <conklin@talisman.kaleida.com>
+
+# Although we may know the offset of certain text fields in TeX DVI
+# and font files, we can't use them reliably because they are not
+# zero terminated. [but we do anyway, christos]
+0 string \367\002 TeX DVI file
>16 string >\0 (%s)
-0 short 0173531 Packed TeX Font
+0 string \367\203 TeX generic font data
+0 string \367\131 TeX packed font data
>4 string >\0 (%s)
-2 string \000\022 Metafont Font Metric
+0 string \367\312 TeX virtual font data
+0 string This\ is\ TeX, TeX transcript text
+0 string This\ is\ METAFONT, METAFONT transcript text
+
+# There is no way to detect TeX Font Metric (*.tfm) files without
+# breaking them apart and reading the data. The following patterns
+# match most *.tfm files generated by METAFONT or afm2tfm.
+2 string \000\021 TeX font metric data
+2 string \000\022 TeX font metric data
>34 string >\0 (%s)
diff --git a/magic/Magdir/vax b/magic/Magdir/vax
index f45080c3..af665fa8 100644
--- a/magic/Magdir/vax
+++ b/magic/Magdir/vax
@@ -27,7 +27,7 @@
#
0 leshort 0570 VAX COFF executable
>12 lelong >0 not stripped
-#>22 leshort >0 - version %ld
+>22 leshort >0 - version %ld
0 leshort 0575 VAX COFF pure executable
>12 lelong >0 not stripped
-#>22 leshort >0 - version %ld
+>22 leshort >0 - version %ld
diff --git a/src/Makefile b/src/Makefile
index c6428087..105eb6e0 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,6 +1,6 @@
# Makefile for file(1) cmd.
# Copyright (c) Ian F. Darwin 86/09/01 - see LEGAL.NOTICE.
-# @(#)$Id: Makefile,v 1.36 1993/09/23 20:26:25 christos Exp $
+# @(#)$Id: Makefile,v 1.37 1993/09/23 21:47:01 christos Exp $
#
# This software is not subject to any license of the American Telephone
# and Telegraph Company or of the Regents of the University of California.
@@ -100,7 +100,7 @@ magic: Magdir
ascmagic.o: names.h
-apprentice.o ascmagic.o file.o fsmagic.o print.o softmagic.o: file.h
+compress.o apprentice.o ascmagic.o file.o fsmagic.o print.o softmagic.o: file.h
install: file magic file.1 magic.4 $(BINDIR) $(MANCDIR) $(MANCDIR)
cp file $(BINDIR)/file
diff --git a/src/PORTING b/src/PORTING
index 7ea2cdc5..06790e6a 100644
--- a/src/PORTING
+++ b/src/PORTING
@@ -1,5 +1,5 @@
Portability of the new file(1) command.
-@(#) $Id: PORTING,v 1.10 1992/09/11 11:53:39 ian Exp $
+@(#) $Id: PORTING,v 1.11 1993/09/23 21:47:23 christos Exp $
Read this file only if the program doesn't compile on your system.
@@ -72,5 +72,5 @@ other problems you find porting to a UNIX system. I don't much
care about non-UNIX systems but will collect widely-used magic
numbers for them as well as for UNIX systems.
-Ian Darwin
+Mark Moraes and Christos Zoulas
(address in README)
diff --git a/src/file.c b/src/file.c
index 3a013a2f..652784a8 100644
--- a/src/file.c
+++ b/src/file.c
@@ -26,7 +26,7 @@
*/
#ifndef lint
static char *moduleid =
- "@(#)$Id: file.c,v 1.27 1993/09/16 20:45:46 christos Exp $";
+ "@(#)$Id: file.c,v 1.28 1993/09/23 21:47:01 christos Exp $";
#endif /* lint */
#include <stdio.h>
@@ -201,7 +201,8 @@ int wid;
}
if (wid > 0)
- (void) printf("%s:%*s ", inname, wid - strlen(inname), "");
+ (void) printf("%s:%*s ", inname,
+ (int) (wid - strlen(inname)), "");
if (inname != stdname) {
/*
diff --git a/src/file.h b/src/file.h
index c6cf24e2..f74a7ec5 100644
--- a/src/file.h
+++ b/src/file.h
@@ -1,6 +1,6 @@
/*
* file.h - definitions for file(1) program
- * @(#)$Id: file.h,v 1.16 1993/09/23 20:26:25 christos Exp $
+ * @(#)$Id: file.h,v 1.17 1993/09/23 21:47:01 christos Exp $
*
* Copyright (c) Ian F. Darwin, 1987.
* Written by Ian F. Darwin.
@@ -114,7 +114,7 @@ extern int lflag; /* follow symbolic links? */
extern int optind; /* From getopt(3) */
extern char *optarg;
-#if !defined(__STDC__) || defined(sun)
+#if !defined(__STDC__) || defined(sun) || defined(__sun__)
extern int sys_nerr;
extern char *sys_errlist[];
#define strerror(e) \
diff --git a/src/softmagic.c b/src/softmagic.c
index 55f083ea..40ade8bf 100644
--- a/src/softmagic.c
+++ b/src/softmagic.c
@@ -34,7 +34,7 @@
#ifndef lint
static char *moduleid =
- "@(#)$Id: softmagic.c,v 1.21 1993/09/23 20:26:40 christos Exp $";
+ "@(#)$Id: softmagic.c,v 1.22 1993/09/23 21:47:01 christos Exp $";
#endif /* lint */
static int match __P((unsigned char *, int));
@@ -102,7 +102,7 @@ int nbytes;
for (magindex = 0; magindex < nmagic; magindex++) {
/* if main entry matches, print it... */
if (!mget(&p, s, &magic[magindex], nbytes) ||
- !mcheck(&p, &magic[magindex], nbytes)) {
+ !mcheck(&p, &magic[magindex])) {
/*
* main entry didn't match,
* flush its continuations
@@ -133,7 +133,7 @@ int nbytes;
cont_level = magic[magindex].cont_level;
}
if (mget(&p, s, &magic[magindex], nbytes) &&
- mcheck(&p, &magic[magindex], nbytes)) {
+ mcheck(&p, &magic[magindex])) {
/*
* This continuation matched.
* Print its message, with
@@ -176,20 +176,17 @@ struct magic *m;
switch (m->type) {
case BYTE:
- (void) printf(m->desc,
- (m->reln & MASK) ? p->b & m->mask : p->b);
+ (void) printf(m->desc, p->b);
break;
case SHORT:
case BESHORT:
case LESHORT:
- (void) printf(m->desc,
- (m->reln & MASK) ? p->h & m->mask : p->h);
+ (void) printf(m->desc, p->h);
break;
case LONG:
case BELONG:
case LELONG:
- (void) printf(m->desc,
- (m->reln & MASK) ? p->l & m->mask : p->l);
+ (void) printf(m->desc, p->l);
break;
case STRING:
if (m->reln == '=') {
@@ -261,7 +258,7 @@ char *str;
int len;
{
(void) fprintf(stderr, "mget @%d: ", offset);
- showstr(stderr, (char *) p, sizeof(p));
+ showstr(stderr, (char *) str, len);
(void) fputc('\n', stderr);
(void) fputc('\n', stderr);
}
@@ -281,7 +278,7 @@ int nbytes;
memcpy(p, s + offset, sizeof(p));
if (debug) {
- mdebug(offset, (char *) p, sizeof(p);
+ mdebug(offset, (char *) p, sizeof(p));
mdump(m);
}
@@ -308,7 +305,7 @@ int nbytes;
memcpy(p, s + offset, sizeof(p));
if (debug) {
- mdebug(offset, (char *) p, sizeof(p);
+ mdebug(offset, (char *) p, sizeof(p));
mdump(m);
}
@@ -324,7 +321,6 @@ union VALUETYPE* p;
struct magic *m;
{
register long l = m->value.l;
- register long mask = m->mask;
register long v;
if ( (m->value.s[0] == 'x') && (m->value.s[1] == '\0') ) {
@@ -410,21 +406,6 @@ struct magic *m;
(void) fprintf(stderr, "((%x & %x) != %x) = %d\n",
v, l, l, (v & l) != l);
return (v & l) != l;
- case MASK | '=':
- if (debug)
- (void) fprintf(stderr, "((%x & %x) == %x) = %d\n",
- v, mask, l, (v & mask) == l);
- return (v & mask) == l;
- case MASK | '>':
- if (debug)
- (void) fprintf(stderr, "((%x & %x) > %x) = %d\n",
- v, mask, l, (v & mask) > l);
- return (v & mask) > l;
- case MASK | '<':
- if (debug)
- (void) fprintf(stderr, "((%x & %x) < %x) = %d\n",
- v, mask, l, (v & mask) < l);
- return (v & mask) < l;
default:
error("mcheck: can't happen: invalid relation %d.\n", m->reln);
return 0;/*NOTREACHED*/