Print this page
oops!
getdelim.3c should list p1003.1-2008.
more ifdef cleanups, expose getline and getdelim

Split Close
Expand all
Collapse all
          --- old/usr/src/head/stdio.h
          +++ new/usr/src/head/stdio.h
↓ open down ↓ 207 lines elided ↑ open up ↑
 208  208  #define P_tmpdir        "/var/tmp/"
 209  209  #endif /* defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) ... */
 210  210  
 211  211  #ifndef _STDIO_ALLOCATE
 212  212  extern unsigned char     _sibuf[], _sobuf[];
 213  213  #endif
 214  214  
 215  215  /* large file compilation environment setup */
 216  216  #if !defined(_LP64) && _FILE_OFFSET_BITS == 64
 217  217  #if !defined(__PRAGMA_REDEFINE_EXTNAME)
 218      -#if defined(__STDC__)
 219  218  extern FILE     *fopen64(const char *, const char *);
 220  219  extern FILE     *freopen64(const char *, const char *, FILE *);
 221  220  extern FILE     *tmpfile64(void);
 222  221  extern int      fgetpos64(FILE *, fpos_t *);
 223  222  extern int      fsetpos64(FILE *, const fpos_t *);
 224      -#else   /* defined(__STDC__) */
 225      -extern FILE     *fopen64();
 226      -extern FILE     *freopen64();
 227      -extern FILE     *tmpfile64();
 228      -extern int      fgetpos64();
 229      -extern int      fsetpos64();
 230      -#endif  /* defined(__STDC__) */
 231  223  #define fopen                   fopen64
 232  224  #define freopen                 freopen64
 233  225  #define tmpfile                 tmpfile64
 234  226  #define fgetpos                 fgetpos64
 235  227  #define fsetpos                 fsetpos64
 236  228  #ifdef  _LARGEFILE_SOURCE
 237  229  #define fseeko                  fseeko64
 238  230  #define ftello                  ftello64
 239  231  #endif
 240  232  #endif  /* !__PRAGMA_REDEFINE_EXTNAME */
↓ open down ↓ 21 lines elided ↑ open up ↑
 262  254  
 263  255  #ifndef _SSIZE_T
 264  256  #define _SSIZE_T
 265  257  #if defined(_LP64) || defined(_I32LPx)
 266  258  typedef long    ssize_t;        /* size of something in bytes or -1 */
 267  259  #else
 268  260  typedef int     ssize_t;        /* (historical version) */
 269  261  #endif
 270  262  #endif  /* !_SSIZE_T */
 271  263  
 272      -#if defined(__STDC__)
 273      -
 274      -#if defined(__EXTENSIONS__) || \
 275      -        (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \
 276      -        defined(_REENTRANT)
      264 +#if defined(_REENTRANT) || !defined(_STRICT_SYMBOLS)
 277  265  extern char     *tmpnam_r(char *);
 278  266  #endif
 279  267  
 280      -#if defined(__EXTENSIONS__) || \
 281      -        (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX))
      268 +#if !defined(_STRICT_SYMBOLS)
 282  269  extern int fcloseall(void);
 283  270  extern void setbuffer(FILE *, char *, size_t);
 284  271  extern int setlinebuf(FILE *);
 285  272  /* PRINTFLIKE2 */
 286  273  extern int asprintf(char **, const char *, ...);
 287  274  /* PRINTFLIKE2 */
 288  275  extern int vasprintf(char **, const char *, __va_list);
 289  276  #endif
 290  277  
 291      -#if defined(__EXTENSIONS__) || \
 292      -        (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX))
 293      -        /* || defined(_XPG7) */
      278 +#if defined(_XPG7) || !defined(_STRICT_SYMBOLS)
 294  279  extern ssize_t getdelim(char **_RESTRICT_KYWD, size_t *_RESTRICT_KYWD,
 295  280          int, FILE *_RESTRICT_KYWD);
 296  281  extern ssize_t getline(char **_RESTRICT_KYWD, size_t *_RESTRICT_KYWD,
 297  282          FILE *_RESTRICT_KYWD);
 298      -#endif  /* __EXTENSIONS__ ... */
      283 +#endif
 299  284  
 300  285  /*
 301  286   * The following are known to POSIX and XOPEN, but not to ANSI-C.
 302  287   */
 303      -#if defined(__EXTENSIONS__) || \
 304      -        !defined(_STRICT_STDC) || defined(__XOPEN_OR_POSIX)
 305      -
      288 +#if defined(__XOPEN_OR_POSIX) || !defined(_STRICT_SYMBOLS)
 306  289  extern FILE     *fdopen(int, const char *);
 307  290  extern char     *ctermid(char *);
 308  291  extern int      fileno(FILE *);
      292 +#endif
 309  293  
 310      -#endif  /* defined(__EXTENSIONS__) || !defined(_STRICT_STDC) ... */
 311      -
 312  294  /*
 313      - * The following are known to POSIX.1c, but not to ANSI-C or XOPEN.
      295 + * The following are known to POSIX.1c, but not to ANSI-C or older XOPEN.
 314  296   */
 315      -#if defined(__EXTENSIONS__) || defined(_REENTRANT) || \
      297 +#if defined(_REENTRANT) || !defined(_STRICT_SYMBOLS) || \
 316  298          (_POSIX_C_SOURCE - 0 >= 199506L)
 317  299  extern void     flockfile(FILE *);
 318  300  extern int      ftrylockfile(FILE *);
 319  301  extern void     funlockfile(FILE *);
 320  302  extern int      getc_unlocked(FILE *);
 321  303  extern int      getchar_unlocked(void);
 322  304  extern int      putc_unlocked(int, FILE *);
 323  305  extern int      putchar_unlocked(int);
      306 +#endif
 324  307  
 325      -#endif  /* defined(__EXTENSIONS__) || defined(_REENTRANT).. */
 326      -
 327  308  /*
 328  309   * The following are known to XOPEN, but not to ANSI-C or POSIX.
 329  310   */
 330      -#if defined(__EXTENSIONS__) || !defined(_STRICT_STDC) || \
 331      -        defined(_XOPEN_SOURCE)
      311 +#if defined(_XOPEN_SOURCE) || !defined(_STRICT_SYMBOLS)
      312 +
 332  313  extern FILE     *popen(const char *, const char *);
 333  314  extern char     *tempnam(const char *, const char *);
 334  315  extern int      pclose(FILE *);
      316 +
 335  317  #if !defined(_XOPEN_SOURCE)
      318 +/* XOPEN puts this in stdlib.h */
 336  319  extern int      getsubopt(char **, char *const *, char **);
 337      -#endif /* !defined(_XOPEN_SOURCE) */
      320 +#endif
 338  321  
 339  322  /* Marked LEGACY in SUSv2 and removed in SUSv3 */
 340      -#if !defined(_XPG6) || defined(__EXTENSIONS__)
      323 +#if !defined(_STRICT_XPG6)
 341  324  extern char     *cuserid(char *);
 342  325  extern int      getopt(int, char *const *, const char *);
 343  326  extern char     *optarg;
 344  327  extern int      optind, opterr, optopt;
 345  328  extern int      getw(FILE *);
 346  329  extern int      putw(int, FILE *);
 347      -#endif /* !defined(_XPG6) || defined(__EXTENSIONS__) */
      330 +#endif
 348  331  
 349      -#endif  /* defined(__EXTENSIONS__) || !defined(_STRICT_STDC) ... */
      332 +#endif  /* defined(_XOPEN_SOURCE) || !defined(_STRICT_SYMBOLS) */
 350  333  
 351  334  /*
 352  335   * The following are defined as part of the Large File Summit interfaces.
 353  336   */
 354  337  #if defined(_LARGEFILE_SOURCE) || defined(_XPG5)
 355  338  extern int      fseeko(FILE *, off_t, int);
 356  339  extern off_t    ftello(FILE *);
 357  340  #endif
 358  341  
 359  342  /*
↓ open down ↓ 4 lines elided ↑ open up ↑
 364  347              !defined(__PRAGMA_REDEFINE_EXTNAME))
 365  348  extern FILE     *fopen64(const char *, const char *);
 366  349  extern FILE     *freopen64(const char *, const char *, FILE *);
 367  350  extern FILE     *tmpfile64(void);
 368  351  extern int      fgetpos64(FILE *, fpos64_t *);
 369  352  extern int      fsetpos64(FILE *, const fpos64_t *);
 370  353  extern int      fseeko64(FILE *, off64_t, int);
 371  354  extern off64_t  ftello64(FILE *);
 372  355  #endif
 373  356  
 374      -#else   /* !defined __STDC__ */
 375      -
 376      -#ifndef _LP64
 377      -#define _bufend(p)      ((fileno(p) < _NFILE) ? _bufendtab[fileno(p)] : \
 378      -                        (unsigned char *)_realbufend(p))
 379      -#define _bufsiz(p)      (_bufend(p) - (p)->_base)
 380      -#endif  /*      _LP64   */
 381      -
 382      -#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX) || \
 383      -        defined(_REENTRANT)
 384      -extern char     *tmpnam_r();
 385      -#endif
 386      -
 387      -#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX)
 388      -extern int fcloseall();
 389      -extern void setbuffer();
 390      -extern int setlinebuf();
 391      -extern int asprintf();
 392      -extern int vasprintf();
 393      -#endif
 394      -
 395      -#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX)
 396      -        /* || defined(_XPG7) */
 397      -extern ssize_t getdelim();
 398      -extern ssize_t getline();
 399      -#endif  /* __EXTENSIONS__ ... */
 400      -
 401      -#if defined(__EXTENSIONS__) || defined(__XOPEN_OR_POSIX)
 402      -extern FILE     *fdopen();
 403      -extern char     *ctermid();
 404      -extern int      fileno();
 405      -#endif  /* defined(__EXTENSIONS__) || defined(__XOPEN_OR_POSIX) */
 406      -
 407      -#if defined(__EXTENSIONS__) || defined(_REENTRANT) || \
 408      -            (_POSIX_C_SOURCE - 0 >= 199506L)
 409      -extern void     flockfile();
 410      -extern int      ftrylockfile();
 411      -extern void     funlockfile();
 412      -extern int      getc_unlocked();
 413      -extern int      getchar_unlocked();
 414      -extern int      putc_unlocked();
 415      -extern int      putchar_unlocked();
 416      -#endif  /* defined(__EXTENSIONS__) || defined(_REENTRANT).. */
 417      -
 418      -#if defined(__EXTENSIONS__) || defined(_XOPEN_SOURCE)
 419      -extern FILE     *popen();
 420      -extern char     *tempnam();
 421      -extern int      pclose();
 422      -
 423      -#if !defined(_XOPEN_SOURCE)
 424      -extern int      getsubopt();
 425      -#endif /* !defined(_XOPEN_SOURCE) */
 426      -
 427      -#if !defined(_XPG6) || defined(__EXTENSIONS__)
 428      -extern char     *cuserid();
 429      -extern int      getopt();
 430      -extern char     *optarg;
 431      -extern int      optind, opterr, optopt;
 432      -extern int      getw();
 433      -extern int      putw();
 434      -#endif /* !defined(_XPG6) || defined(__EXTENSIONS__) */
 435      -
 436      -#endif  /* defined(__EXTENSIONS__) || defined(_XOPEN_SOURCE) */
 437      -
 438      -#if defined(_LARGEFILE_SOURCE) || defined(_XPG5)
 439      -extern int      fseeko();
 440      -extern off_t    ftello();
 441      -#endif
 442      -
 443      -#if defined(_LARGEFILE64_SOURCE) && !((_FILE_OFFSET_BITS == 64) && \
 444      -            !defined(__PRAGMA_REDEFINE_EXTNAME))
 445      -extern FILE     *fopen64();
 446      -extern FILE     *freopen64();
 447      -extern FILE     *tmpfile64();
 448      -extern int      fgetpos64();
 449      -extern int      fsetpos64();
 450      -extern int      fseeko64();
 451      -extern off64_t  ftello64();
 452      -#endif
 453      -
 454      -#endif  /* __STDC__ */
 455      -
 456  357  #if !defined(__lint)
 457  358  
 458      -#if defined(__EXTENSIONS__) || defined(_REENTRANT) || \
      359 +#if defined(_REENTRANT) || !defined(_STRICT_SYMBOLS) || \
 459  360              (_POSIX_C_SOURCE - 0 >= 199506L)
 460  361  #ifndef _LP64
 461      -#ifdef  __STDC__
 462  362  #define getc_unlocked(p)        (--(p)->_cnt < 0 \
 463  363                                          ? __filbuf(p) \
 464  364                                          : (int)*(p)->_ptr++)
 465  365  #define putc_unlocked(x, p)     (--(p)->_cnt < 0 \
 466  366                                          ? __flsbuf((x), (p)) \
 467  367                                          : (int)(*(p)->_ptr++ = \
 468  368                                          (unsigned char) (x)))
 469      -#else
 470      -#define getc_unlocked(p)        (--(p)->_cnt < 0 \
 471      -                                        ? _filbuf(p) \
 472      -                                        : (int)*(p)->_ptr++)
 473      -#define putc_unlocked(x, p)     (--(p)->_cnt < 0 \
 474      -                                        ? _flsbuf((x), (p)) \
 475      -                                        : (int)(*(p)->_ptr++ = \
 476      -                                        (unsigned char) (x)))
 477      -#endif  /* __STDC__ */
 478  369  #endif  /* _LP64 */
 479  370  #define getchar_unlocked()      getc_unlocked(stdin)
 480  371  #define putchar_unlocked(x)     putc_unlocked((x), stdout)
 481      -#endif  /* defined(__EXTENSIONS__) || defined(_REENTRANT).. */
      372 +#endif  /* defined(_REENTRANT).. */
 482  373  
 483  374  #endif  /* !defined(__lint) */
 484  375  
 485  376  #ifdef  __cplusplus
 486  377  }
 487  378  #endif
 488  379  
 489  380  #endif  /* _STDIO_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX