X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=lib%2Fgetdelim.c;h=b74e5b5350055d63cbd667bdb3c7625ce88fca44;hp=3c519ccbf4cab7658e71b0ed10cf441ef4a82338;hb=cb555a94fa5188122569ed3803c463f27ccd0261;hpb=d5e283b1a75c5f8249300b465b4e7b55130bec49 diff --git a/lib/getdelim.c b/lib/getdelim.c index 3c519ccb..b74e5b53 100644 --- a/lib/getdelim.c +++ b/lib/getdelim.c @@ -1,6 +1,6 @@ /* getdelim.c --- Implementation of replacement getdelim function. - Copyright (C) 1994, 1996, 1997, 1998, 2001, 2003, 2005, 2006, 2007, 2008 Free - Software Foundation, Inc. + Copyright (C) 1994, 1996, 1997, 1998, 2001, 2003, 2005, 2006, 2007, + 2008, 2009 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,22 +24,25 @@ #include #include +#include #include #include -#ifndef SIZE_MAX -# define SIZE_MAX ((size_t) -1) -#endif #ifndef SSIZE_MAX # define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) #endif -#if !HAVE_FLOCKFILE + +#if USE_UNLOCKED_IO +# include "unlocked-io.h" +# define getc_maybe_unlocked(fp) getc(fp) +#elif !HAVE_FLOCKFILE || !HAVE_FUNLOCKFILE || !HAVE_DECL_GETC_UNLOCKED # undef flockfile -# define flockfile(x) ((void) 0) -#endif -#if !HAVE_FUNLOCKFILE # undef funlockfile +# define flockfile(x) ((void) 0) # define funlockfile(x) ((void) 0) +# define getc_maybe_unlocked(fp) getc(fp) +#else +# define getc_maybe_unlocked(fp) getc_unlocked(fp) #endif /* Read up to (and including) a DELIMITER from FP into *LINEPTR (and @@ -79,7 +82,7 @@ getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp) { int i; - i = getc (fp); + i = getc_maybe_unlocked (fp); if (i == EOF) { result = -1;