freebsd-dev/usr.bin/file
Joerg Wunsch 4205b53dc0 Move the check for ASCIIness earlier. This avoids the following
misdetection:

j@uriah 307% file X.hga
X.hga: 80386 COFF executable not stripped
j@uriah 308% strings X.hga | head -3
~f&`i
.text
.data
j@uriah 309% strings X.hga | file -
standard input:              assembler program text

New version:

j@uriah 310% strings X.hga | ./file -
standard input:              International language text

Reviewed by:	christos@deshaw.com (Christos Zoulas)
1996-12-20 22:19:18 +00:00
..
Magdir Detect GUS patches now 1996-11-17 11:03:07 +00:00
apprentice.c Merged changes to resolve conflicts with file 3.19 import. 1996-01-23 12:40:36 +00:00
ascmagic.c Move the check for ASCIIness earlier. This avoids the following 1996-12-20 22:19:18 +00:00
compress.c Merged changes to resolve conflicts with file 3.19 import. 1996-01-23 12:40:36 +00:00
cvsimport.sh
file.1 Fixed some minor formatting problems to silence manck some more. 1996-02-12 01:20:38 +00:00
file.c Add another matching algorithhm to do heuristics for international 1996-12-11 14:09:12 +00:00
file.h Add another matching algorithhm to do heuristics for international 1996-12-11 14:09:12 +00:00
fsmagic.c Merged changes to resolve conflicts with file 3.19 import. 1996-01-23 12:40:36 +00:00
international.c Add another matching algorithhm to do heuristics for international 1996-12-11 14:09:12 +00:00
is_tar.c Remove trailing whitespace. 1995-05-30 06:41:30 +00:00
LEGAL.NOTICE Upgrade to file version 3.19. 1996-01-23 12:29:07 +00:00
magic.5 Fix a typo in the syntax for indirect offsets. 1996-04-18 18:17:14 +00:00
MAINT
Makefile Restored installation of /etc/magic. It's now a symlink instead of a 1996-12-13 11:49:16 +00:00
names.h Merged changes to resolve conflicts with file 3.19 import. 1996-01-23 12:40:36 +00:00
patchlevel.h Merged changes to resolve conflicts with file 3.19 import. 1996-01-23 12:40:36 +00:00
PORTING
print.c Merged changes to resolve conflicts with file 3.19 import. 1996-01-23 12:40:36 +00:00
README
softmagic.c Merged changes to resolve conflicts with file 3.19 import. 1996-01-23 12:40:36 +00:00
tar.h

** README for file(1) Command **
@(#) $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
4.4 BSD (Berkeley Software Distribution) of UNIX-like
software, and is the standard "file" command for Linux, 386bsd,
and other systems. (See "patchlevel.h" for the exact release number).

UNIX is a trademark of UNIX System Laboratories.

The prime contributor to Release 3.8 was Guy Harris, who put in megachanges
including byte-order independance.

The prime contributor to Release 3.0 was Christos Zoulas, who put
in hundreds of lines of source code changes, including his own
ANSIfication of the code (I liked my own ANSIfication better, but
his (__P()) is the "Berkeley standard" way of doing it, and I wanted UCB
to include the code...), his HP-like "indirection" (a feature of
the HP file command, I think), and his mods that finally got the
uncompress (-z) mode finished and working.

This release has compiled in numerous environments; see PORTING
for a list and problems.

This fine freeware file(1) follows the USG (System V) model of the file
command, rather than the Research (V7) version or the V7-derived 4.[23]
Berkeley one. That is, the file /etc/magic contains much of the ritual
information that is the source of this program's power. My version
knows a little more magic (including tar archives) than System V; the
/etc/magic parsing seems to be compatible with the (poorly documented)
System V /etc/magic format (with one exception; see the man page).

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 maintainer, Christos Zoulas.

LEGAL.NOTICE - read this first.
README - read this second (you are currently reading this file).
PORTING - read this only if the program won't compile.
Makefile - read this next, adapt it as needed (particularly
	the location of the old existing file command and
	the man page layouts), type "make" to compile, 
	"make try" to try it out against your old version.
	Expect some diffs, particularly since your original
	file(1) may not grok the imbedded-space ("\ ") in
	the current magic file, or may even not use the
	magic file.
apprentice.c - parses /etc/magic to learn magic
ascmagic.c - third & last set of tests, based on hardwired assumptions.
core - not included in distribution due to mailer limitations.
debug.c - includes -c printout routine
file.1 - man page for the command
magic.4 - man page for the magic file, courtesy Guy Harris.
	Install as magic.4 on USG and magic.5 on V7 or Berkeley; cf Makefile.
file.c - main program
file.h - header file
fsmagic.c - first set of tests the program runs, based on filesystem info
is_tar.c - knows about tarchives (courtesy John Gilmore).
magdir - directory of /etc/magic pieces
	magdir/Makefile - ADJUST THIS FOR YOUR CONFIGURATION
names.h - header file for ascmagic.c
softmagic.c - 2nd set of tests, based on /etc/magic
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


E-mail: christos@deshaw.com, moraes@deshaw.com

Phone: Do not even think of telephoning me about this program. Send cash first!

Parts of this software were developed at SoftQuad Inc., 56 Aberfoyle
Cres, # 810, Toronto, Ontario CANADA M8X 2W4.  Phone: 416-239-4801 or
800-387-2777. Email: mail@sq.com.  Call for information on SGML editing
and browsing, Unix text processing, and customised products on Unix,
DOS and Mac.