don't warn if lenerr is ignored
[mmh] / uip / scansbr.c
index feef5c0..0495838 100644 (file)
@@ -107,6 +107,9 @@ scan(FILE *inb, int innum, int outnum, char *fmtstr, int width, int curflg,
        for (compnum = 1, state = FLD2; ; ) {
                state = m_getfld2(state, &f, inb);
                switch (state) {
+               case LENERR2:
+                       state = FLD2;
+                       /* FALL */
                case FLD2:
                        compnum++;
                        if (incing) {
@@ -191,16 +194,14 @@ body:;
                        }
                        goto finished;
 
-               case LENERR2:
-                       advise(NULL, "line \"%s\" too long", trim(f.value));
-                       goto handleerror;
-
                case FMTERR2:
                        if (strncmp("From ", f.value, 5)==0) {
                                state = FILEEOF2;
                                goto finished;
                        }
-                       /* FALL */
+                       compnum++;
+                       advise(NULL, "formate error in component #%d", compnum);
+                       continue;
 
                case IOERR2:
 handleerror:;