diff options
author | Bert Münnich <ber.t@posteo.de> | 2015-10-28 21:50:17 +0100 |
---|---|---|
committer | Bert Münnich <ber.t@posteo.de> | 2015-10-28 21:50:17 +0100 |
commit | 66c3c55759a7ee23af75657215a2fd0e1aa39558 (patch) | |
tree | 8b2c471d2ee9af05ae6c8f01174183970d323d04 /util.c | |
parent | e574a6d0dd209cba5e61f23c992a8d6d9bd1fc90 (diff) | |
download | nsxiv-66c3c55759a7ee23af75657215a2fd0e1aa39558.tar.zst |
Use POSIX.1-2008 getline(3)
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 30 |
1 files changed, 0 insertions, 30 deletions
@@ -96,36 +96,6 @@ void die(const char* fmt, ...) exit(EXIT_FAILURE); } -ssize_t get_line(char **buf, size_t *n, FILE *stream) -{ - size_t len; - char *s; - - if (*buf == NULL || *n == 0) { - *n = BUF_SIZE; - *buf = (char*) s_malloc(*n); - } - s = *buf; - - while (true) { - if (fgets(s, *n - (s - *buf), stream) == NULL) - return -1; - len = strlen(s); - if (feof(stream)) - break; - if (len > 0 && s[len-1] == '\n') - break; - if (len + 1 == *n - (s - *buf)) { - *buf = (char*) s_realloc(*buf, 2 * *n); - s = *buf + *n - 1; - *n *= 2; - } else { - s += len; - } - } - return s - *buf + len; -} - void size_readable(float *size, const char **unit) { const char *units[] = { "", "K", "M", "G" }; |