diff options
Diffstat (limited to 'lib/compat')
| -rw-r--r-- | lib/compat/Makemodule.am | 2 | ||||
| -rw-r--r-- | lib/compat/getline.c | 60 | 
2 files changed, 1 insertions, 61 deletions
| diff --git a/lib/compat/Makemodule.am b/lib/compat/Makemodule.am index c1be522..4f4fc9c 100644 --- a/lib/compat/Makemodule.am +++ b/lib/compat/Makemodule.am @@ -1,4 +1,4 @@ -libcompat_a_SOURCES = lib/compat/getline.c lib/compat/getsubopt.c +libcompat_a_SOURCES = lib/compat/getsubopt.c  libcompat_a_SOURCES += lib/compat/strndup.c lib/compat/mockups.c  libcompat_a_SOURCES += lib/compat/chdir.c include/compat.h  libcompat_a_SOURCES += lib/compat/path_to_windows.c diff --git a/lib/compat/getline.c b/lib/compat/getline.c deleted file mode 100644 index e63c50e..0000000 --- a/lib/compat/getline.c +++ /dev/null @@ -1,60 +0,0 @@ -/* SPDX-License-Identifier: GPL-3.0-or-later */ -/* - * getline.c - * - * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at> - */ -#include "config.h" -#include "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'); - -	if (len == cap) { -		new = realloc(buffer, cap ? cap * 2 : 32); -		if (new == NULL) -			return -1; - -		buffer = new; -	} - -	buffer[len] = '\0'; - -	*line = buffer; -	*n = len; -	return len; -} -#endif | 
