X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/bfad64befb4d6696fdfb63b119666eec4bac6fb3..21bfba3bf56e7ffd094d258803fc8f6e10a311b7:/uip/mhcachesbr.c diff --git a/uip/mhcachesbr.c b/uip/mhcachesbr.c index 5f7777d0..5970a9d1 100644 --- a/uip/mhcachesbr.c +++ b/uip/mhcachesbr.c @@ -383,18 +383,19 @@ find_cache_aux2 (char *mapfile, char *id, char *mapname, int namelen) for (state = FLD;;) { int result; char *cp, *dp; + int bufsz = sizeof buf; - switch (state = m_getfld (state, name, buf, sizeof(buf), fp)) { + switch (state = m_getfld (state, name, buf, &bufsz, fp)) { case FLD: case FLDPLUS: - case FLDEOF: strncpy (mapname, name, namelen); if (state != FLDPLUS) cp = buf; else { cp = add (buf, NULL); while (state == FLDPLUS) { - state = m_getfld (state, name, buf, sizeof(buf), fp); + bufsz = sizeof buf; + state = m_getfld (state, name, buf, &bufsz, fp); cp = add (buf, cp); } } @@ -410,12 +411,9 @@ find_cache_aux2 (char *mapfile, char *id, char *mapname, int namelen) lkfclose (fp, mapfile); return OK; } - if (state != FLDEOF) - continue; - /* else fall... */ + continue; case BODY: - case BODYEOF: case FILEEOF: default: break;