(__strtol): Remove decl; it doesn't work if __strtol
[gnulib.git] / lib / getline.c
index e95aace..170a26e 100644 (file)
@@ -1,6 +1,6 @@
 /* getline.c -- Replacement for GNU C library function getline
 
-Copyright (C) 1993 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,20 +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 <config.h>
 #endif
 
+/* The `getdelim' function is only declared if the following symbol
+   is defined.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+
 #include <stdio.h>
 #include <sys/types.h>
 
-#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);
 }
@@ -39,17 +42,17 @@ getline (lineptr, n, stream)
 
 #else /* ! have getdelim */
 
-#define NDEBUG
-#include <assert.h>
+# define NDEBUG
+# include <assert.h>
 
-#if STDC_HEADERS
-# include <stdlib.h>
-#else
+# if STDC_HEADERS
+#  include <stdlib.h>
+# 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
@@ -58,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. */
@@ -132,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);
 }