X-Git-Url: https://git.cworth.org/git?p=tar;a=blobdiff_plain;f=lib%2Fgetdelim.c;h=4cd1c1171e6a7e6c0849281fe252d615a8215056;hp=286a460f816d36818827d204ebbe9e631455acc6;hb=cf7169a2ede9bb08b71de68fe0c8bbecf827abe6;hpb=138fc7e67e3d9845cd7d81aad0e9c7724784f9b9 diff --git a/lib/getdelim.c b/lib/getdelim.c index 286a460..4cd1c11 100644 --- a/lib/getdelim.c +++ b/lib/getdelim.c @@ -35,13 +35,18 @@ #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 @@ -81,7 +86,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;