X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fgetline.c;h=170a26e96405e5b818dc602e2cf006ed4ab1adbf;hb=618f09f72ba36d7c43802fa5fc07aca28172e6fd;hp=58144f0b2f058dbab6eb9c48eac925dcc0696785;hpb=8eefcee8183c7191d1c29b6a1fbb570220bffb56;p=gnulib.git diff --git a/lib/getline.c b/lib/getline.c index 58144f0b2..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 @@ -24,17 +24,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* 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); }