]> granicus.if.org Git - file/commitdiff
*** empty log message ***
authorChristos Zoulas <christos@zoulas.com>
Thu, 23 Sep 1993 21:47:01 +0000 (21:47 +0000)
committerChristos Zoulas <christos@zoulas.com>
Thu, 23 Sep 1993 21:47:01 +0000 (21:47 +0000)
22 files changed:
MAINT
README
magic/Magdir/att3b
magic/Magdir/audio
magic/Magdir/commands
magic/Magdir/compress
magic/Magdir/hp
magic/Magdir/images
magic/Magdir/linux
magic/Magdir/mmdf
magic/Magdir/old/ar
magic/Magdir/old/sunraster
magic/Magdir/pgp
magic/Magdir/sequent
magic/Magdir/sun
magic/Magdir/tex
magic/Magdir/vax
src/Makefile
src/PORTING
src/file.c
src/file.h
src/softmagic.c

diff --git a/MAINT b/MAINT
index c35697b00589094482d4cda75ae9246219e66bbb..7fc5e3637f3bdae3558d0cf4a888e5aac1d42e65 100644 (file)
--- 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 a398fed4b32831dd5723a7f791ae8aea073c3ba3..2ee8e6777a40dbc194bc319f7440ce032ba4c1be 100644 (file)
--- 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!
 
index dfd467007294720d724463006052c5af3816e025..c1e9e39fdde2059c52d3b9fa2a5e63e67d512bbc 100644 (file)
@@ -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'
index 743c4b65d8ea9be89bcf5988453ff4c58d0e47bd..6b4cb364532c8b98feeacf06e87b0ad55c0b26c6 100644 (file)
@@ -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
index b6357e381cd7c49c44de827b02a87289542af1dd..64522f80f5ad62b04f3f523af68cd769ede408e6 100644 (file)
@@ -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
index 30841ee8966049ce5a7251e872361c725335a588..744a1b1a01b84a32dfda77867fabf34f1f8d6410 100644 (file)
@@ -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)
index 1353d8c14df16656a4bbfc1002b31ede7e66bcf6..db02e54bd597474eccc471d24c29d8b076e89504 100644 (file)
 
 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(,);
index 39970d27eca052010154b801dc89809658b72d93..dae6d0af8bac3d910d448e406bf626545be41468 100644 (file)
@@ -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
index 7467fc425c9350b9ea19658ebdfb34bb14216842..512a284bd409a2da4b235903066e81b9752800e1 100644 (file)
@@ -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)
index aa264c376125e0df02986ecac238e1bf37af9241..236c721409029a8802155ec51d41bf4676557a20 100644 (file)
@@ -1 +1 @@
-0      long            0x1010101       MMDF mailbox
+0      string  \001\001\001\001        MMDF mailbox
index 5ab63aeab522b899118682109f46da5b76eb0281..80953833e2297634c4e96b708a14b13617787258 100644 (file)
 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]
index 864055c1ed85cacb3d02735e57b40a1db92ec76a..39db3a3115ed9383da698b434420e0646b160e6e 100644 (file)
@@ -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
index 7d01ed7070234842ea608ac30c41b9f102c2b046..396555387929458638d4dcee15df9d05137b4c00 100644 (file)
@@ -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
index 24e317b0349178b02311ebaba18add1c68a8a9c5..bcb7061577f87380fc7e2930361db8623a90e2b9 100644 (file)
@@ -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
index 90d7002468b4414d3a3c19a0065f628a9926084b..d6ce8093175c99d196f4bda9d7b1e14e1cc2a47c 100644 (file)
@@ -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
index 20ee02b89ad38fb973157ce35ca4ee5414bfb6e8..734bedd5a8e81ba67cc156b99962c52aec302177 100644 (file)
@@ -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)
index f45080c3196e6da5044eb1acfd929d1674803897..af665fa8a8f30ae2540136cb64f4b4193e13ce77 100644 (file)
@@ -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
index c64280871a91fa70c9cda68704aab97f9db4bcbc..105eb6e07cfc548f7e10cc7ce7303503c9b88bf4 100644 (file)
@@ -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
index 7ea2cdc55a16c9dae15b2492611542ec88c1ebb9..06790e6ace038e463ee1d65258dedc85bf3f11fd 100644 (file)
@@ -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)
index 3a013a2f1c083d5926b3d29426ca1b6b13494133..652784a87915e08115940b2c967c09fb73e3a007 100644 (file)
@@ -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) {
            /*
index c6cf24e2155938467e5f76e43db7091cbd4dd286..f74a7ec5220562d71d8aa0ab366a3d18f6569922 100644 (file)
@@ -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) \
index 55f083ea509ba155cc1a91b9705cc08373958977..40ade8bf5e619e2bfd7d5eb9e812fc652b8face6 100644 (file)
@@ -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*/