X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhparse.c;h=c2506755663e4e7c498861ad18a5b87c703b8f8f;hp=67d769caf01ea497d3ec1a2056c50b2a7a0c7c20;hb=ac3066d2d563ce3b9de66195f6818eecb594fec2;hpb=b16c039dc21faa0d68a0ba45eab857895e82439b diff --git a/uip/mhparse.c b/uip/mhparse.c index 67d769c..c250675 100644 --- a/uip/mhparse.c +++ b/uip/mhparse.c @@ -250,6 +250,10 @@ get_content(FILE *in, char *file, int toplevel) */ for (compnum = 1, state = FLD2;;) { switch (state = m_getfld2(state, &f, in)) { + case LENERR2: + advise(NULL, "To long field"); + state = FLD2; + /* FALL */ case FLD2: compnum++; @@ -267,11 +271,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);