pctx->buf = uci_malloc(ctx, LINEBUF);
pctx->bufsz = LINEBUF;
}
- /* `offset' may off by one */
- if (offset >= pctx->bufsz) {
+ /* It takes 2 slots for fgets to read 1 char. */
+ if (offset >= pctx->bufsz - 1) {
pctx->bufsz *= 2;
pctx->buf = uci_realloc(ctx, pctx->buf, pctx->bufsz);
}
break;
}
}
- uci_parse_error(ctx, "unterminated \"");
}
/*
/* Multi-line str value */
uci_getln(ctx, pctx->pos);
if (!pctx_cur_char(pctx))
- uci_parse_error(ctx, "EOF with unterminated \"");
+ uci_parse_error(ctx, "EOF with unterminated '");
break;
default:
addc(ctx, target, &pctx->pos);
}
}
- uci_parse_error(ctx, "unterminated '");
}
/*