X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fwhom.c;h=64ec7c973e0a3659a69618e588bd3274b5086eb4;hp=c4e7e8f87497fa1bee07e0ed603280babc472441;hb=6e4f8128fe078a3e54f5c92d27c31acc7b8f9fd8;hpb=a87df3543d3bc128ba4079d1f95638476ba5ca50 diff --git a/uip/whom.c b/uip/whom.c index c4e7e8f..64ec7c9 100644 --- a/uip/whom.c +++ b/uip/whom.c @@ -37,6 +37,7 @@ static struct swit switches[] = { { NULL, 0 } }; +char *version=VERSION; #define NFILES 32 @@ -167,7 +168,7 @@ main(int argc, char **argv) } pclose(in); } - free(cmd); + mh_free0(&cmd); naddrs += n; cmd = add("ali -list", NULL); @@ -180,7 +181,7 @@ main(int argc, char **argv) } pclose(in); } - free(cmd); + mh_free0(&cmd); naddrs += n; cmd = add("ali -list", NULL); @@ -193,7 +194,7 @@ main(int argc, char **argv) } pclose(in); } - free(cmd); + mh_free0(&cmd); naddrs += n; return naddrs ? 0 : 1; @@ -204,7 +205,7 @@ static int process(char *file) { enum state state; - struct field f = free_field; + struct field f = {{0}}; int compnum; FILE *in; @@ -215,6 +216,9 @@ process(char *file) for (compnum=1, state=FLD2;; compnum++) { switch (state = m_getfld2(state, &f, in)) { + case LENERR2: + state = FLD2; + /* FALL */ case FLD2: proc_hdr(f.name, f.value); continue; @@ -223,8 +227,10 @@ process(char *file) case FILEEOF2: break; - case LENERR2: case FMTERR2: + advise(NULL, "message format error in component #%d", compnum); + continue; + case IOERR2: adios(EX_DATAERR, NULL, "message format error in component #%d", compnum);