X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fgetline.c;h=170a26e96405e5b818dc602e2cf006ed4ab1adbf;hb=e911cfd715b17d7314df5882f00b86a2cef6c3ad;hp=6757dee1219a266df07325aaea5860f372e2e8b5;hpb=876cbb501793eabdc8565159d18292af560c5016;p=gnulib.git diff --git a/lib/getline.c b/lib/getline.c index 6757dee12..170a26e96 100644 --- a/lib/getline.c +++ b/lib/getline.c @@ -1,6 +1,6 @@ /* getline.c -- Replacement for GNU C library function getline -Copyright (C) 1993, 1996 Free Software Foundation, Inc. +Copyright (C) 1993, 1996, 1997, 1998 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -18,23 +18,23 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Written by Jan Brittenson, bson@gnu.ai.mit.edu. */ -#ifdef HAVE_CONFIG_H +#if HAVE_CONFIG_H # include #endif -/* The `getdelim' function is only declared if there following symbol +/* The `getdelim' function is only declared if the following symbol is defined. */ -#define _GNU_SOURCE 1 +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif + #include #include -#if defined __GNU_LIBRARY__ && defined HAVE_GETDELIM +#if defined __GNU_LIBRARY__ && HAVE_GETDELIM int -getline (lineptr, n, stream) - char **lineptr; - size_t *n; - FILE *stream; +getline (char **lineptr, size_t *n, FILE *stream) { return getdelim (lineptr, n, '\n', stream); } @@ -42,17 +42,17 @@ getline (lineptr, n, stream) #else /* ! have getdelim */ -#define NDEBUG -#include +# define NDEBUG +# include -#if STDC_HEADERS -# include -#else +# if STDC_HEADERS +# include +# else char *malloc (), *realloc (); -#endif +# endif /* Always add at least this many bytes when extending the buffer. */ -#define MIN_CHUNK 64 +# define MIN_CHUNK 64 /* Read up to (and including) a TERMINATOR from STREAM into *LINEPTR + OFFSET (and null-terminate it). *LINEPTR is a pointer returned from @@ -61,12 +61,7 @@ char *malloc (), *realloc (); null terminator), or -1 on error or EOF. */ int -getstr (lineptr, n, stream, terminator, offset) - char **lineptr; - size_t *n; - FILE *stream; - char terminator; - size_t offset; +getstr (char **lineptr, size_t *n, FILE *stream, char terminator, size_t offset) { int nchars_avail; /* Allocated but unused chars in *LINEPTR. */ char *read_pos; /* Where we're reading into *LINEPTR. */ @@ -135,20 +130,13 @@ getstr (lineptr, n, stream, terminator, offset) } int -getline (lineptr, n, stream) - char **lineptr; - size_t *n; - FILE *stream; +getline (char **lineptr, size_t *n, FILE *stream) { return getstr (lineptr, n, stream, '\n', 0); } int -getdelim (lineptr, n, delimiter, stream) - char **lineptr; - size_t *n; - int delimiter; - FILE *stream; +getdelim (char **lineptr, size_t *n, int delimiter, FILE *stream) { return getstr (lineptr, n, stream, delimiter, 0); }