diff options
| author | Tyge Løvset <[email protected]> | 2020-11-07 17:14:20 +0100 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2020-11-07 17:14:20 +0100 |
| commit | a10f4ca24c32df3db7dfbebf51fc64f097ba985a (patch) | |
| tree | c5a2fcf6420ba81e6f6eaf2e1c80c341fc07941c | |
| parent | 16bccd1842da34317da38ef9d4be1829dc9eba90 (diff) | |
| download | STC-modified-a10f4ca24c32df3db7dfbebf51fc64f097ba985a.tar.gz STC-modified-a10f4ca24c32df3db7dfbebf51fc64f097ba985a.zip | |
Last fix on getdelim().
| -rw-r--r-- | stc/cstr.h | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -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 |
