]> granicus.if.org Git - file/commitdiff
Withdraw "-" logic as it results in core dumps (why?).
authorIan Darwin <ian@darwinsys.com>
Fri, 28 Aug 1987 21:36:02 +0000 (21:36 +0000)
committerIan Darwin <ian@darwinsys.com>
Fri, 28 Aug 1987 21:36:02 +0000 (21:36 +0000)
src/file.c

index 65b530be3b1d64b0eba07a7ee5ac2f511065c565..66cb4cb5f54bc0e31880e126d29be056fe98abd9 100644 (file)
@@ -15,11 +15,7 @@ int check = 0,               /* check format of magic file */
        nbytes = 0,     /* number of bytes read from a datafile */
        nmagic = 0;     /* number of valid magic[]s */
 FILE *efopen();
-#ifdef MAGIC
-char *magicfile = MAGIC;       /* where magic be found */
-#else
 char *magicfile = "/etc/magic";        /* where magic be found */
-#endif
 char *progname;
 struct stat statbuf;
 struct utimbuf {       /* for utime(2), belongs in a .h file */
@@ -105,17 +101,9 @@ process(inname)
 char   *inname;
 {
        int     fd;
-       char    buf[HOWMANY+1];
+       char    buf[HOWMANY];
        struct utimbuf utbuf;
 
-       if (strcmp("-", inname) == 0) {
-               /* Standard input */
-               if (fstat(0, &statbuf)<0)
-                       warning("cannot fstat; ");
-               fd = 0;
-               goto readit;
-       }
-               
        (void) printf("%s:\t", inname);
 
        /*
@@ -125,20 +113,15 @@ char      *inname;
        if (fsmagic(inname) != 0) {
                /*NULLBODY*/;
        } else if ((fd = open(inname, 0)) < 0) {
-               /* We can't open it, but we were able to stat it. */
-               if (statbuf.st_mode & 0002) ckfputs("writeable, ", stdout);
-               if (statbuf.st_mode & 0111) ckfputs("executable, ", stdout);
-               warning("can't read");
+               warning("can't open for reading");
        } else {
-readit:
                /*
                 * try looking at the first HOWMANY bytes
                 */
                if ((nbytes = read(fd, buf, HOWMANY)) == -1)
                        warning("read failed");
-               buf[nbytes] = '\0';     /* Terminate string */
                /*
-                * try tests in /etc/magic (or surrogate magic file)
+                * try tests in /etc/magic (or surrogate magic file
                 */
                if (softmagic(buf) == 1)
                        /*NULLBODY*/;
@@ -153,16 +136,13 @@ readit:
                         */
                        ckfputs("data", stdout);
                }
-               if (strcmp("-", inname) != 0) {
-                       /*
-                        * Restore access, modification times if we read it.
-                        */
-                       utbuf.actime = statbuf.st_atime;
-                       utbuf.modtime = statbuf.st_mtime;
-                       (void) utime(inname, &utbuf);
-                       /* we don't care if we lack perms */
-                       (void) close(fd);
-               }
+               /*
+                * Restore access, modification times if we read the file.
+                */
+               utbuf.actime = statbuf.st_atime;
+               utbuf.modtime = statbuf.st_mtime;
+               (void) utime(inname, &utbuf); /* don't care if we lack perms */
+               (void) close(fd);
        }
 
        (void) putchar('\n');