Print this page
oops!
getdelim.3c should list p1003.1-2008.
more ifdef cleanups, expose getline and getdelim
@@ -213,23 +213,15 @@
#endif
/* large file compilation environment setup */
#if !defined(_LP64) && _FILE_OFFSET_BITS == 64
#if !defined(__PRAGMA_REDEFINE_EXTNAME)
-#if defined(__STDC__)
extern FILE *fopen64(const char *, const char *);
extern FILE *freopen64(const char *, const char *, FILE *);
extern FILE *tmpfile64(void);
extern int fgetpos64(FILE *, fpos_t *);
extern int fsetpos64(FILE *, const fpos_t *);
-#else /* defined(__STDC__) */
-extern FILE *fopen64();
-extern FILE *freopen64();
-extern FILE *tmpfile64();
-extern int fgetpos64();
-extern int fsetpos64();
-#endif /* defined(__STDC__) */
#define fopen fopen64
#define freopen freopen64
#define tmpfile tmpfile64
#define fgetpos fgetpos64
#define fsetpos fsetpos64
@@ -267,88 +259,79 @@
#else
typedef int ssize_t; /* (historical version) */
#endif
#endif /* !_SSIZE_T */
-#if defined(__STDC__)
-
-#if defined(__EXTENSIONS__) || \
- (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \
- defined(_REENTRANT)
+#if defined(_REENTRANT) || !defined(_STRICT_SYMBOLS)
extern char *tmpnam_r(char *);
#endif
-#if defined(__EXTENSIONS__) || \
- (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX))
+#if !defined(_STRICT_SYMBOLS)
extern int fcloseall(void);
extern void setbuffer(FILE *, char *, size_t);
extern int setlinebuf(FILE *);
/* PRINTFLIKE2 */
extern int asprintf(char **, const char *, ...);
/* PRINTFLIKE2 */
extern int vasprintf(char **, const char *, __va_list);
#endif
-#if defined(__EXTENSIONS__) || \
- (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX))
- /* || defined(_XPG7) */
+#if defined(_XPG7) || !defined(_STRICT_SYMBOLS)
extern ssize_t getdelim(char **_RESTRICT_KYWD, size_t *_RESTRICT_KYWD,
int, FILE *_RESTRICT_KYWD);
extern ssize_t getline(char **_RESTRICT_KYWD, size_t *_RESTRICT_KYWD,
FILE *_RESTRICT_KYWD);
-#endif /* __EXTENSIONS__ ... */
+#endif
/*
* The following are known to POSIX and XOPEN, but not to ANSI-C.
*/
-#if defined(__EXTENSIONS__) || \
- !defined(_STRICT_STDC) || defined(__XOPEN_OR_POSIX)
-
+#if defined(__XOPEN_OR_POSIX) || !defined(_STRICT_SYMBOLS)
extern FILE *fdopen(int, const char *);
extern char *ctermid(char *);
extern int fileno(FILE *);
+#endif
-#endif /* defined(__EXTENSIONS__) || !defined(_STRICT_STDC) ... */
-
/*
- * The following are known to POSIX.1c, but not to ANSI-C or XOPEN.
+ * The following are known to POSIX.1c, but not to ANSI-C or older XOPEN.
*/
-#if defined(__EXTENSIONS__) || defined(_REENTRANT) || \
+#if defined(_REENTRANT) || !defined(_STRICT_SYMBOLS) || \
(_POSIX_C_SOURCE - 0 >= 199506L)
extern void flockfile(FILE *);
extern int ftrylockfile(FILE *);
extern void funlockfile(FILE *);
extern int getc_unlocked(FILE *);
extern int getchar_unlocked(void);
extern int putc_unlocked(int, FILE *);
extern int putchar_unlocked(int);
+#endif
-#endif /* defined(__EXTENSIONS__) || defined(_REENTRANT).. */
-
/*
* The following are known to XOPEN, but not to ANSI-C or POSIX.
*/
-#if defined(__EXTENSIONS__) || !defined(_STRICT_STDC) || \
- defined(_XOPEN_SOURCE)
+#if defined(_XOPEN_SOURCE) || !defined(_STRICT_SYMBOLS)
+
extern FILE *popen(const char *, const char *);
extern char *tempnam(const char *, const char *);
extern int pclose(FILE *);
+
#if !defined(_XOPEN_SOURCE)
+/* XOPEN puts this in stdlib.h */
extern int getsubopt(char **, char *const *, char **);
-#endif /* !defined(_XOPEN_SOURCE) */
+#endif
/* Marked LEGACY in SUSv2 and removed in SUSv3 */
-#if !defined(_XPG6) || defined(__EXTENSIONS__)
+#if !defined(_STRICT_XPG6)
extern char *cuserid(char *);
extern int getopt(int, char *const *, const char *);
extern char *optarg;
extern int optind, opterr, optopt;
extern int getw(FILE *);
extern int putw(int, FILE *);
-#endif /* !defined(_XPG6) || defined(__EXTENSIONS__) */
+#endif
-#endif /* defined(__EXTENSIONS__) || !defined(_STRICT_STDC) ... */
+#endif /* defined(_XOPEN_SOURCE) || !defined(_STRICT_SYMBOLS) */
/*
* The following are defined as part of the Large File Summit interfaces.
*/
#if defined(_LARGEFILE_SOURCE) || defined(_XPG5)
@@ -369,118 +352,26 @@
extern int fsetpos64(FILE *, const fpos64_t *);
extern int fseeko64(FILE *, off64_t, int);
extern off64_t ftello64(FILE *);
#endif
-#else /* !defined __STDC__ */
-
-#ifndef _LP64
-#define _bufend(p) ((fileno(p) < _NFILE) ? _bufendtab[fileno(p)] : \
- (unsigned char *)_realbufend(p))
-#define _bufsiz(p) (_bufend(p) - (p)->_base)
-#endif /* _LP64 */
-
-#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX) || \
- defined(_REENTRANT)
-extern char *tmpnam_r();
-#endif
-
-#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX)
-extern int fcloseall();
-extern void setbuffer();
-extern int setlinebuf();
-extern int asprintf();
-extern int vasprintf();
-#endif
-
-#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX)
- /* || defined(_XPG7) */
-extern ssize_t getdelim();
-extern ssize_t getline();
-#endif /* __EXTENSIONS__ ... */
-
-#if defined(__EXTENSIONS__) || defined(__XOPEN_OR_POSIX)
-extern FILE *fdopen();
-extern char *ctermid();
-extern int fileno();
-#endif /* defined(__EXTENSIONS__) || defined(__XOPEN_OR_POSIX) */
-
-#if defined(__EXTENSIONS__) || defined(_REENTRANT) || \
- (_POSIX_C_SOURCE - 0 >= 199506L)
-extern void flockfile();
-extern int ftrylockfile();
-extern void funlockfile();
-extern int getc_unlocked();
-extern int getchar_unlocked();
-extern int putc_unlocked();
-extern int putchar_unlocked();
-#endif /* defined(__EXTENSIONS__) || defined(_REENTRANT).. */
-
-#if defined(__EXTENSIONS__) || defined(_XOPEN_SOURCE)
-extern FILE *popen();
-extern char *tempnam();
-extern int pclose();
-
-#if !defined(_XOPEN_SOURCE)
-extern int getsubopt();
-#endif /* !defined(_XOPEN_SOURCE) */
-
-#if !defined(_XPG6) || defined(__EXTENSIONS__)
-extern char *cuserid();
-extern int getopt();
-extern char *optarg;
-extern int optind, opterr, optopt;
-extern int getw();
-extern int putw();
-#endif /* !defined(_XPG6) || defined(__EXTENSIONS__) */
-
-#endif /* defined(__EXTENSIONS__) || defined(_XOPEN_SOURCE) */
-
-#if defined(_LARGEFILE_SOURCE) || defined(_XPG5)
-extern int fseeko();
-extern off_t ftello();
-#endif
-
-#if defined(_LARGEFILE64_SOURCE) && !((_FILE_OFFSET_BITS == 64) && \
- !defined(__PRAGMA_REDEFINE_EXTNAME))
-extern FILE *fopen64();
-extern FILE *freopen64();
-extern FILE *tmpfile64();
-extern int fgetpos64();
-extern int fsetpos64();
-extern int fseeko64();
-extern off64_t ftello64();
-#endif
-
-#endif /* __STDC__ */
-
#if !defined(__lint)
-#if defined(__EXTENSIONS__) || defined(_REENTRANT) || \
+#if defined(_REENTRANT) || !defined(_STRICT_SYMBOLS) || \
(_POSIX_C_SOURCE - 0 >= 199506L)
#ifndef _LP64
-#ifdef __STDC__
#define getc_unlocked(p) (--(p)->_cnt < 0 \
? __filbuf(p) \
: (int)*(p)->_ptr++)
#define putc_unlocked(x, p) (--(p)->_cnt < 0 \
? __flsbuf((x), (p)) \
: (int)(*(p)->_ptr++ = \
(unsigned char) (x)))
-#else
-#define getc_unlocked(p) (--(p)->_cnt < 0 \
- ? _filbuf(p) \
- : (int)*(p)->_ptr++)
-#define putc_unlocked(x, p) (--(p)->_cnt < 0 \
- ? _flsbuf((x), (p)) \
- : (int)(*(p)->_ptr++ = \
- (unsigned char) (x)))
-#endif /* __STDC__ */
#endif /* _LP64 */
#define getchar_unlocked() getc_unlocked(stdin)
#define putchar_unlocked(x) putc_unlocked((x), stdout)
-#endif /* defined(__EXTENSIONS__) || defined(_REENTRANT).. */
+#endif /* defined(_REENTRANT).. */
#endif /* !defined(__lint) */
#ifdef __cplusplus
}