From a10f4ca24c32df3db7dfbebf51fc64f097ba985a Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Sat, 7 Nov 2020 17:14:20 +0100 Subject: Last fix on getdelim(). --- stc/cstr.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/stc/cstr.h b/stc/cstr.h index 8c71cae4..0b1e9cbe 100644 --- a/stc/cstr.h +++ b/stc/cstr.h @@ -350,15 +350,18 @@ cstr_erase(cstr_t* self, size_t pos, size_t n) { STC_DEF bool cstr_getdelim(cstr_t *self, int delim, FILE *fp) { size_t pos = 0, cap = cstr_capacity(*self); + int c = fgetc(fp); + if (c == EOF) + return false; for (;;) { - int c = fgetc(fp); if (pos == cap) cap = cstr_reserve(self, cap * 3 / 2 + 34); if (c == delim || c == EOF) { self->str[_cstr_size(*self) = pos] = '\0'; - return c != EOF; + return true; } self->str[pos++] = (char) c; + c = fgetc(fp); } } @@ -379,4 +382,4 @@ c_strnstr(const char* x, const char* needle, size_t n) { #endif -#endif +#endif \ No newline at end of file -- cgit v1.2.3