From: Christos Zoulas Date: Fri, 12 Sep 2003 19:39:44 +0000 (+0000) Subject: minor fixes X-Git-Tag: FILE5_05~953 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=81aa99ab1477e9d29cc2b82b8abe85b2618b2f0d;p=file minor fixes --- diff --git a/src/apprentice.c b/src/apprentice.c index 65b60c52..2353dd00 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -50,7 +50,7 @@ #endif #ifndef lint -FILE_RCSID("@(#)$Id: apprentice.c,v 1.63 2003/09/12 19:19:22 christos Exp $") +FILE_RCSID("@(#)$Id: apprentice.c,v 1.64 2003/09/12 19:39:44 christos Exp $") #endif /* lint */ #define EATAB {while (isascii((unsigned char) *l) && \ @@ -263,10 +263,11 @@ apprentice_file(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp, return -1; } - /* parse it */ - if (action == FILE_CHECK) /* print silly verbose header for USG compat. */ + /* print silly verbose header for USG compat. */ + if (action == FILE_CHECK) (void)fprintf(stderr, "%s\n", hdr); + /* parse it */ for (lineno = 1; fgets(line, BUFSIZ, f) != NULL; lineno++) { if (line[0]=='#') /* comment, do not parse */ continue; @@ -682,8 +683,12 @@ getvalue(struct magic_set *ms, struct magic *m, char **p) case FILE_PSTRING: case FILE_REGEX: *p = getstr(ms, *p, m->value.s, sizeof(m->value.s), &slen); - if (*p == NULL) + if (*p == NULL) { + if (ms->flags & MAGIC_CHECK) + file_magwarn("Cannot get string from `%s'", + m->value.s); return -1; + } m->vallen = slen; return 0; default: diff --git a/src/file.c b/src/file.c index 8a356808..6cc49d53 100644 --- a/src/file.c +++ b/src/file.c @@ -72,7 +72,7 @@ #include "patchlevel.h" #ifndef lint -FILE_RCSID("@(#)$Id: file.c,v 1.80 2003/07/10 21:10:16 christos Exp $") +FILE_RCSID("@(#)$Id: file.c,v 1.81 2003/09/12 19:39:44 christos Exp $") #endif /* lint */ @@ -215,7 +215,7 @@ main(int argc, char *argv[]) action = FILE_COMPILE; break; case 'd': - flags |= MAGIC_DEBUG; + flags |= MAGIC_DEBUG|MAGIC_CHECK; break; case 'f': if(action) diff --git a/src/funcs.c b/src/funcs.c index f89bd3be..7d72bd99 100644 --- a/src/funcs.c +++ b/src/funcs.c @@ -76,10 +76,6 @@ file_error(struct magic_set *ms, const char *f, ...) if (ms->haderr) return; va_start(va, f); - - /* cuz we use stdout for most, stderr here */ - (void) fflush(stdout); - (void) vsnprintf(ms->o.buf, ms->o.size, f, va); ms->haderr++; va_end(va); diff --git a/src/print.c b/src/print.c index 2bdc9fff..ee1926de 100644 --- a/src/print.c +++ b/src/print.c @@ -46,7 +46,7 @@ #include #ifndef lint -FILE_RCSID("@(#)$Id: print.c,v 1.43 2003/03/26 15:35:30 christos Exp $") +FILE_RCSID("@(#)$Id: print.c,v 1.44 2003/09/12 19:39:44 christos Exp $") #endif /* lint */ #define SZOF(a) (sizeof(a) / sizeof(a[0])) @@ -150,6 +150,7 @@ file_magwarn(const char *f, ...) /* cuz we use stdout for most, stderr here */ (void) fflush(stdout); + (void) fprintf(stderr, "WARNING: "); (void) vfprintf(stderr, f, va); va_end(va); fputc('\n', stderr);