X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Ffreadptr.h;h=785ec99ba2ccc0be9b78aed9ff9de50caac2d944;hb=5191b3546cfb6c163228c23f214e325ddf60d46f;hp=7697970703cc6f34ce4d16bb019be23cebf081c2;hpb=56690adc74a0b9d99a9a313947cf7515ce8a40db;p=gnulib.git diff --git a/lib/freadptr.h b/lib/freadptr.h index 769797070..785ec99ba 100644 --- a/lib/freadptr.h +++ b/lib/freadptr.h @@ -1,5 +1,5 @@ /* Retrieve information about a FILE stream. - Copyright (C) 2007-2008 Free Software Foundation, Inc. + Copyright (C) 2007-2013 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 published by @@ -17,24 +17,32 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif - /* Assuming the stream STREAM is open for reading: - Return a pointer to the input buffer of STREAM. - If freadahead (STREAM) > 0, the result is a pointer to freadahead (STREAM) - bytes. - If freadahead (STREAM) == 0, the result is not usable; it may be NULL. - In this case, you should use getc (STREAM), fgetc (STREAM), or - fread (..., STREAM) to access the input from STREAM. + Return a pointer to the input buffer of STREAM, or NULL. + If the returned pointer is non-NULL, *SIZEP is set to the (positive) size + of the input buffer. + If the returned pointer is NULL, you should use getc (STREAM), + fgetc (STREAM), or fread (..., STREAM) to access the input from STREAM. The resulting pointer becomes invalid upon any operation on STREAM. STREAM must not be wide-character oriented. */ -extern const char * freadptr (FILE *stream); +#if HAVE___FREADPTR /* musl libc */ + +# include +# define freadptr(stream,sizep) __freadptr (stream, sizep) + +#else -#ifdef __cplusplus +# ifdef __cplusplus +extern "C" { +# endif + +extern const char * freadptr (FILE *stream, size_t *sizep); + +# ifdef __cplusplus } +# endif + #endif