@@ -38,40 +38,41 @@
39getdelim(char **buf, size_t *bufsiz, int delimiter, FILE *fp)
39getdelim(char **buf, size_t *bufsiz, int delimiter, FILE *fp)
41− char *ptr, *eptr;
41+ char *ptr, *eptr;
44− if (*buf == NULL || *bufsiz == 0) {
43+ if (*buf == NULL || *bufsiz == 0) {
45− *bufsiz = BUFSIZ;
44+ *bufsiz = BUFSIZ;
46− if ((*buf = malloc(*bufsiz)) == NULL)
45+ if ((*buf = malloc(*bufsiz)) == NULL)
50− for (ptr = *buf, eptr = *buf + *bufsiz;;) {
54− return ptr == *buf ? -1 : ptr - *buf;
56− return -1;
46+ return -1;
49+ for (ptr = *buf, eptr = *buf + *bufsiz;;) {
58− *ptr++ = c;
59+ *ptr++ = c;
59− if (c == delimiter) {
60+ if (c == delimiter) {
60− *ptr = '\0';
61+ *ptr = '\0';
61− return ptr - *buf;
62+ return ptr - *buf;
63− if (ptr + 2 >= eptr) {
64+ if (ptr + 2 >= eptr) {
64− char *nbuf;
65+ char *nbuf;
65− size_t nbufsiz = *bufsiz * 2;
66+ size_t nbufsiz = *bufsiz * 2;
66− ssize_t d = ptr - *buf;
67+ ssize_t d = ptr - *buf;
67− if ((nbuf = realloc(*buf, nbufsiz)) == NULL)
68+ if ((nbuf = realloc(*buf, nbufsiz)) == NULL)
68− return -1;
69+ return -1;
69− *buf = nbuf;
70+ *buf = nbuf;
70− *bufsiz = nbufsiz;
71+ *bufsiz = nbufsiz;
71− eptr = nbuf + nbufsiz;
72+ eptr = nbuf + nbufsiz;
72− ptr = nbuf + d;
73+ ptr = nbuf + d;