diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-11-22 11:01:09 +0100 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-11-22 11:28:23 +0100 |
commit | eafaffa0f09b7c22eed906ef5356b1460d44da55 (patch) | |
tree | e77a1c3ddf714301b93810c2d123b6a7fcdc2ee8 /lib/util/getline.c | |
parent | 435c9ef3de5797d7c49fa8fae12a02fd6bd209d6 (diff) |
Cleanup: move all the compatibillity fluff to a dedicated "libcompat"
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'lib/util/getline.c')
-rw-r--r-- | lib/util/getline.c | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/lib/util/getline.c b/lib/util/getline.c deleted file mode 100644 index 996bef2..0000000 --- a/lib/util/getline.c +++ /dev/null @@ -1,50 +0,0 @@ -/* SPDX-License-Identifier: LGPL-3.0-or-later */ -/* - * getline.c - * - * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at> - */ -#include "config.h" -#include "util/compat.h" - -#include <string.h> -#include <stdlib.h> - -#ifndef HAVE_GETLINE -ssize_t getline(char **line, size_t *n, FILE *fp) -{ - size_t new_cap, len = 0, cap = 0; - char *buffer = NULL, *new; - int c; - - if (feof(fp) || ferror(fp)) - return -1; - - do { - c = fgetc(fp); - - if (ferror(fp)) - return -1; - - if (c == EOF) - c = '\n'; - - if (len == cap) { - new_cap = cap ? cap * 2 : 32; - new = realloc(buffer, new_cap); - - if (new == NULL) - return -1; - - buffer = new; - cap = new_cap; - } - - buffer[len++] = c; - } while (c != '\n'); - - *line = buffer; - *n = len; - return len; -} -#endif |