}
}
- if (nchars >= NAMESZ) {
+ f->crlf = (nchars > 2 && tmpline[nchars-2] == '\r');
+ if (nchars > NAMESZ+1 || (!f->crlf && nchars > NAMESZ)) {
ret = LENERR2;
}
return IOERR2;
}
+ if (nchars > NAMESZ+1 || (!f->crlf && nchars > NAMESZ)) {
+ ret = LENERR2;
+ }
+
if (*(tmpline + nchars - 1) != '\n') {
ret = FMTERR2;
}
}
}
- if (nchars >= NAMESZ) {
- ret = LENERR2;
- }
-
+ f->crlf = (nchars > 2 && tmpline[nchars-2] == '\r');
free(f->value);
f->value = tmpline;
f->valuelen = nchars;