X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhparse.c;h=b860dcfaf1990728c2c2e60a2dc218cad21c4d56;hp=67d769caf01ea497d3ec1a2056c50b2a7a0c7c20;hb=1fb6287fc4986668e8f49d7c3bdca27d53e267af;hpb=04a3dfc70394a517a79340a7d3ecd9c6a23d0bee diff --git a/uip/mhparse.c b/uip/mhparse.c index 67d769c..b860dcf 100644 --- a/uip/mhparse.c +++ b/uip/mhparse.c @@ -250,6 +250,9 @@ get_content(FILE *in, char *file, int toplevel) */ for (compnum = 1, state = FLD2;;) { switch (state = m_getfld2(state, &f, in)) { + case LENERR2: + state = FLD2; + /* FALL */ case FLD2: compnum++; @@ -267,11 +270,13 @@ get_content(FILE *in, char *file, int toplevel) ct->c_begin = ftell(in); break; - case LENERR2: case FMTERR2: + advise(NULL, "message format error in component #%d", compnum); + state = FLD2; + continue; + case IOERR2: - adios(EX_DATAERR, NULL, "message format error in component #%d", - compnum); + adios(EX_IOERR, "m_getfld2", "io error"); default: adios(EX_SOFTWARE, NULL, "getfld() returned %d", state);