]> diplodocus.org Git - nmh/blobdiff - sbr/readconfig.c
Moved all file static data in m_getfld.c into the
[nmh] / sbr / readconfig.c
index 1ddd648f9feeef1563452102578e9e9fd89774e6..b8b1b35753188290e715aad049ce47d033116f0a 100644 (file)
@@ -59,10 +59,10 @@ readconfig (struct node **npp, FILE *ib, char *file, int ctx)
     }
 
     for (state = FLD;;) {
-       switch (state = m_getfld (state, name, field, sizeof(field), ib)) {
+       int fieldsz = sizeof field;
+       switch (state = m_getfld (state, name, field, &fieldsz, ib)) {
            case FLD:
            case FLDPLUS:
-           case FLDEOF:
                np = (struct node *) mh_xmalloc (sizeof(*np));
                *npp = np;
                *(npp = &np->n_next) = NULL;
@@ -70,7 +70,8 @@ readconfig (struct node **npp, FILE *ib, char *file, int ctx)
                if (state == FLDPLUS) {
                    cp = getcpy (field);
                    while (state == FLDPLUS) {
-                       state = m_getfld (state, name, field, sizeof(field), ib);
+                       fieldsz = sizeof field;
+                       state = m_getfld (state, name, field, &fieldsz, ib);
                        cp = add (field, cp);
                    }
                    np->n_field = trimcpy (cp);
@@ -89,12 +90,9 @@ readconfig (struct node **npp, FILE *ib, char *file, int ctx)
                        *ps->procnaddr = np->n_field;
                        break;
                    }
-               if (state == FLDEOF)
-                   break;
                continue;
 
            case BODY:
-           case BODYEOF:
                adios (NULL, "no blank lines are permitted in %s", file);
 
            case FILEEOF: