X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/5548c9aa00ddf0989b2a0471a16e9d2f6d434983..83a46f99f22d85668aec9f7de2d16ddd015359df:/sbr/readconfig.c diff --git a/sbr/readconfig.c b/sbr/readconfig.c index 1ddd648f..b8b1b357 100644 --- a/sbr/readconfig.c +++ b/sbr/readconfig.c @@ -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: