X-Git-Url: https://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Freadtokens.c;h=8ae1e070a2154fff4f67548fc35f990448f3a893;hb=f2a5cf2cdcfa0ae3dc1634fa5ed07fb6c9decb74;hp=c1b80a24d1638093b5933f96f7418dfbe3b80396;hpb=ed68688309bd5d0d3b7b8d3babbfbd40238c4215;p=gnulib.git diff --git a/lib/readtokens.c b/lib/readtokens.c index c1b80a24d..8ae1e070a 100644 --- a/lib/readtokens.c +++ b/lib/readtokens.c @@ -1,5 +1,5 @@ /* readtokens.c -- Functions for reading tokens from an input stream. - Copyright (C) 1990-1991 Jim Meyering. + Copyright (C) 1990-1991, 1999, 2001 Jim Meyering. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,8 +12,8 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Written by Jim Meyering. */ @@ -28,27 +28,28 @@ */ #ifdef HAVE_CONFIG_H -#include +# include #endif #include #ifdef STDC_HEADERS -#include +# include #endif #if defined (STDC_HEADERS) || defined(HAVE_STRING_H) -#include +# include /* An ANSI string.h and pre-ANSI memory.h might conflict. */ -#if !defined (STDC_HEADERS) && defined (HAVE_MEMORY_H) -#include -#endif /* not STDC_HEADERS and HAVE_MEMORY_H */ +# if !defined (STDC_HEADERS) && defined (HAVE_MEMORY_H) +# include +# endif /* not STDC_HEADERS and HAVE_MEMORY_H */ #else /* not STDC_HEADERS and not HAVE_STRING_H */ -#include +# include /* memory.h and strings.h conflict on some systems. */ #endif /* not STDC_HEADERS and not HAVE_STRING_H */ #include "readtokens.h" +#include "unlocked-io.h" #include "xalloc.h" #define STREQ(a,b) ((a) == (b) || ((a) && (b) && *(a) == *(b) \ @@ -57,7 +58,8 @@ /* Initialize a tokenbuffer. */ void -init_tokenbuffer (token_buffer *tokenbuffer) +init_tokenbuffer (tokenbuffer) + token_buffer *tokenbuffer; { tokenbuffer->size = INITIAL_TOKEN_LENGTH; tokenbuffer->buffer = ((char *) xmalloc (INITIAL_TOKEN_LENGTH)); @@ -75,7 +77,9 @@ init_tokenbuffer (token_buffer *tokenbuffer) and on files that aren't newline-terminated. */ long -readtoken (FILE *stream, const char *delim, int n_delim, +readtoken (FILE *stream, + const char *delim, + int n_delim, token_buffer *tokenbuffer) { char *p; @@ -104,9 +108,10 @@ readtoken (FILE *stream, const char *delim, int n_delim, if (!same_delimiters) { const char *t; + unsigned int j; saved_delim = delim; - for (i = 0; i < sizeof (isdelim); i++) - isdelim[i] = 0; + for (j = 0; j < sizeof (isdelim); j++) + isdelim[j] = 0; for (t = delim; *t; t++) isdelim[(unsigned int) *t] = 1; } @@ -159,9 +164,12 @@ readtoken (FILE *stream, const char *delim, int n_delim, %%% realloc() of `tokens' just before returning? */ int -readtokens (FILE *stream, int projected_n_tokens, - const char *delim, int n_delim, - char ***tokens_out, long **token_lengths) +readtokens (FILE *stream, + int projected_n_tokens, + const char *delim, + int n_delim, + char ***tokens_out, + long **token_lengths) { token_buffer tb, *token = &tb; int token_length;