version 1.5, 1997/02/09 23:58:22 |
version 1.6, 1998/07/10 15:05:20 |
|
|
# endif |
# endif |
#endif |
#endif |
#include <unistd.h> /* for read() */ |
#include <unistd.h> /* for read() */ |
|
#include <err.h> |
|
|
#include <netinet/in.h> /* for byte swapping */ |
#include <netinet/in.h> /* for byte swapping */ |
|
|
|
|
|
|
char *magicfile; /* where magic be found */ |
char *magicfile; /* where magic be found */ |
|
|
char *progname; /* used throughout */ |
|
int lineno; /* line number in the magic file */ |
int lineno; /* line number in the magic file */ |
|
|
|
|
|
|
{ |
{ |
int c; |
int c; |
int check = 0, didsomefiles = 0, errflg = 0, ret = 0, app = 0; |
int check = 0, didsomefiles = 0, errflg = 0, ret = 0, app = 0; |
|
extern char *__progname; |
|
|
if ((progname = strrchr(argv[0], '/')) != NULL) |
|
progname++; |
|
else |
|
progname = argv[0]; |
|
|
|
if (!(magicfile = getenv("MAGIC"))) |
if (!(magicfile = getenv("MAGIC"))) |
magicfile = MAGIC; |
magicfile = MAGIC; |
|
|
while ((c = getopt(argc, argv, "vcdf:Lm:z")) != -1) |
while ((c = getopt(argc, argv, "vcdf:Lm:z")) != -1) |
switch (c) { |
switch (c) { |
case 'v': |
case 'v': |
(void) fprintf(stdout, "%s-%d.%d\n", progname, |
(void) printf("%s-%d.%d\n", __progname, |
FILE_VERSION_MAJOR, patchlevel); |
FILE_VERSION_MAJOR, patchlevel); |
return 1; |
return 1; |
case 'c': |
case 'c': |
|
|
} |
} |
|
|
if (errflg) { |
if (errflg) { |
(void) fprintf(stderr, USAGE, progname); |
(void) fprintf(stderr, USAGE, __progname); |
exit(2); |
exit(2); |
} |
} |
|
|
|
|
} |
} |
|
|
if (optind == argc) { |
if (optind == argc) { |
if (!didsomefiles) { |
if (!didsomefiles) |
(void)fprintf(stderr, USAGE, progname); |
err(2, USAGE, __progname); |
exit(2); |
} else { |
} |
|
} |
|
else { |
|
int i, wid, nw; |
int i, wid, nw; |
for (wid = 0, i = optind; i < argc; i++) { |
for (wid = 0, i = optind; i < argc; i++) { |
nw = strlen(argv[i]); |
nw = strlen(argv[i]); |
|
|
wid = 1; |
wid = 1; |
} else { |
} else { |
if ((f = fopen(fn, "r")) == NULL) { |
if ((f = fopen(fn, "r")) == NULL) { |
error("Cannot open `%s' (%s).\n", fn, strerror(errno)); |
err(1, "Cannot open `%s'", fn); |
/*NOTREACHED*/ |
/*NOTREACHED*/ |
} |
} |
|
|
|
|
|
|
if (strcmp("-", inname) == 0) { |
if (strcmp("-", inname) == 0) { |
if (fstat(0, &sb)<0) { |
if (fstat(0, &sb)<0) { |
error("cannot fstat `%s' (%s).\n", stdname, |
err(1, "cannot fstat `%s'", stdname); |
strerror(errno)); |
|
/*NOTREACHED*/ |
/*NOTREACHED*/ |
} |
} |
inname = stdname; |
inname = stdname; |
|
|
* try looking at the first HOWMANY bytes |
* try looking at the first HOWMANY bytes |
*/ |
*/ |
if ((nbytes = read(fd, (char *)buf, HOWMANY)) == -1) { |
if ((nbytes = read(fd, (char *)buf, HOWMANY)) == -1) { |
error("read failed (%s).\n", strerror(errno)); |
err(1, "read failed"); |
/*NOTREACHED*/ |
/*NOTREACHED*/ |
} |
} |
|
|