From b503ee3e814c4d7c2fa51bc0c996b22da82d070f Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Wed, 28 Aug 2019 10:22:22 -0400 Subject: [PATCH 107/124] FIXME: reformat NOT_FOR_UPSTREAM-zlib-1.1.3-gzio.c --- .../analyzer/NOT_FOR_UPSTREAM-zlib-1.1.3-gzio.c | 5941 +++++++------------- 1 file changed, 2180 insertions(+), 3761 deletions(-) diff --git a/gcc/testsuite/gcc.dg/analyzer/NOT_FOR_UPSTREAM-zlib-1.1.3-gzio.c b/gcc/testsuite/gcc.dg/analyzer/NOT_FOR_UPSTREAM-zlib-1.1.3-gzio.c index 679eae6..61d6de1 100644 --- a/gcc/testsuite/gcc.dg/analyzer/NOT_FOR_UPSTREAM-zlib-1.1.3-gzio.c +++ b/gcc/testsuite/gcc.dg/analyzer/NOT_FOR_UPSTREAM-zlib-1.1.3-gzio.c @@ -1,21 +1,12 @@ /* { dg-additional-options "-O3 -Wno-analyzer-too-complex" } */ - - - - - - typedef long unsigned int size_t; - - typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; - typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; @@ -26,16 +17,9 @@ typedef unsigned int __uint32_t; typedef signed long int __int64_t; typedef unsigned long int __uint64_t; - - - - - - typedef long int __quad_t; typedef unsigned long int __u_quad_t; - typedef unsigned long int __dev_t; typedef unsigned int __uid_t; typedef unsigned int __gid_t; @@ -46,7 +30,9 @@ typedef unsigned long int __nlink_t; typedef long int __off_t; typedef long int __off64_t; typedef int __pid_t; -typedef struct { int __val[2]; } __fsid_t; +typedef struct { + int __val[2]; +} __fsid_t; typedef long int __clock_t; typedef unsigned long int __rlim_t; typedef unsigned long int __rlim64_t; @@ -58,108 +44,72 @@ typedef long int __suseconds_t; typedef int __daddr_t; typedef int __key_t; - typedef int __clockid_t; - -typedef void * __timer_t; - +typedef void *__timer_t; typedef long int __blksize_t; - - - typedef long int __blkcnt_t; typedef long int __blkcnt64_t; - typedef unsigned long int __fsblkcnt_t; typedef unsigned long int __fsblkcnt64_t; - typedef unsigned long int __fsfilcnt_t; typedef unsigned long int __fsfilcnt64_t; - typedef long int __fsword_t; typedef long int __ssize_t; - typedef long int __syscall_slong_t; typedef unsigned long int __syscall_ulong_t; - - typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; - typedef long int __intptr_t; - typedef unsigned int __socklen_t; struct _IO_FILE; - - typedef struct _IO_FILE FILE; - - - - typedef struct _IO_FILE __FILE; - - - -typedef struct -{ +typedef struct { int __count; - union - { + union { unsigned int __wch; - - char __wchb[4]; } __value; } __mbstate_t; -typedef struct -{ +typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; -typedef struct -{ +typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; typedef __builtin_va_list __gnuc_va_list; -struct _IO_jump_t; struct _IO_FILE; +struct _IO_jump_t; +struct _IO_FILE; typedef void _IO_lock_t; - - - - struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; - - int _pos; }; - -enum __codecvt_result -{ +enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, @@ -168,17 +118,14 @@ enum __codecvt_result struct _IO_FILE { int _flags; - - - - char* _IO_read_ptr; - char* _IO_read_end; - char* _IO_read_base; - char* _IO_write_base; - char* _IO_write_ptr; - char* _IO_write_end; - char* _IO_buf_base; - char* _IO_buf_end; + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; char *_IO_save_base; char *_IO_backup_base; @@ -190,20 +137,14 @@ struct _IO_FILE { int _fileno; - - int _flags2; __off_t _old_offset; - - unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; - - _IO_lock_t *_lock; __off64_t _offset; void *__pad1; @@ -214,3382 +155,2016 @@ struct _IO_FILE { int _mode; - char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; - + char _unused2[15 * sizeof(int) - 4 * sizeof(void *) - sizeof(size_t)]; }; - typedef struct _IO_FILE _IO_FILE; - struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; -typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); - - - - - - - -typedef __ssize_t __io_write_fn (void *__cookie, const char *__buf, - size_t __n); - - - +typedef __ssize_t __io_read_fn(void *__cookie, char *__buf, size_t __nbytes); +typedef __ssize_t __io_write_fn(void *__cookie, const char *__buf, size_t __n); +typedef int __io_seek_fn(void *__cookie, __off64_t *__pos, int __w); +typedef int __io_close_fn(void *__cookie); +extern int __underflow(_IO_FILE *); +extern int __uflow(_IO_FILE *); +extern int __overflow(_IO_FILE *, int); +extern int _IO_getc(_IO_FILE *__fp); +extern int _IO_putc(int __c, _IO_FILE *__fp); +extern int _IO_feof(_IO_FILE *__fp) __attribute__((__nothrow__, __leaf__)); +extern int _IO_ferror(_IO_FILE *__fp) __attribute__((__nothrow__, __leaf__)); -typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); - - -typedef int __io_close_fn (void *__cookie); -extern int __underflow (_IO_FILE *); -extern int __uflow (_IO_FILE *); -extern int __overflow (_IO_FILE *, int); -extern int _IO_getc (_IO_FILE *__fp); -extern int _IO_putc (int __c, _IO_FILE *__fp); -extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__ , __leaf__)); -extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__ , __leaf__)); - -extern int _IO_peekc_locked (_IO_FILE *__fp); - - - - - -extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__)); -extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__)); -extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__)); -extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, - __gnuc_va_list, int *__restrict); -extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, - __gnuc_va_list); -extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); -extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); - -extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); -extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); - -extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__)); +extern int _IO_peekc_locked(_IO_FILE *__fp); +extern void _IO_flockfile(_IO_FILE *) __attribute__((__nothrow__, __leaf__)); +extern void _IO_funlockfile(_IO_FILE *) __attribute__((__nothrow__, __leaf__)); +extern int _IO_ftrylockfile(_IO_FILE *) __attribute__((__nothrow__, __leaf__)); +extern int _IO_vfscanf(_IO_FILE *__restrict, const char *__restrict, + __gnuc_va_list, int *__restrict); +extern int _IO_vfprintf(_IO_FILE *__restrict, const char *__restrict, + __gnuc_va_list); +extern __ssize_t _IO_padn(_IO_FILE *, int, __ssize_t); +extern size_t _IO_sgetn(_IO_FILE *, void *, size_t); +extern __off64_t _IO_seekoff(_IO_FILE *, __off64_t, int, int); +extern __off64_t _IO_seekpos(_IO_FILE *, __off64_t, int); +extern void _IO_free_backup_area(_IO_FILE *) + __attribute__((__nothrow__, __leaf__)); typedef __gnuc_va_list va_list; typedef __off_t off_t; typedef __ssize_t ssize_t; - - - - - - typedef _G_fpos_t fpos_t; - - - - - - extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; +extern int remove(const char *__filename) + __attribute__((__nothrow__, __leaf__)); +extern int rename(const char *__old, const char *__new) + __attribute__((__nothrow__, __leaf__)); +extern int renameat(int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__((__nothrow__, __leaf__)); +extern FILE *tmpfile(void); +extern char *tmpnam(char *__s) __attribute__((__nothrow__, __leaf__)); +extern char *tmpnam_r(char *__s) __attribute__((__nothrow__, __leaf__)); +extern char *tempnam(const char *__dir, const char *__pfx) + __attribute__((__nothrow__, __leaf__)) __attribute__((__malloc__)); +extern int fclose(FILE *__stream); -extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); +extern int fflush(FILE *__stream); -extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +extern int fflush_unlocked(FILE *__stream); +extern FILE *fopen(const char *__restrict __filename, + const char *__restrict __modes); +extern FILE *freopen(const char *__restrict __filename, + const char *__restrict __modes, FILE *__restrict __stream); +extern FILE *fdopen(int __fd, const char *__modes) + __attribute__((__nothrow__, __leaf__)); +extern FILE *fmemopen(void *__s, size_t __len, const char *__modes) + __attribute__((__nothrow__, __leaf__)); -extern int renameat (int __oldfd, const char *__old, int __newfd, - const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +extern FILE *open_memstream(char **__bufloc, size_t *__sizeloc) + __attribute__((__nothrow__, __leaf__)); +extern void setbuf(FILE *__restrict __stream, char *__restrict __buf) + __attribute__((__nothrow__, __leaf__)); +extern int setvbuf(FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) + __attribute__((__nothrow__, __leaf__)); +extern void setbuffer(FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__((__nothrow__, __leaf__)); +extern void setlinebuf(FILE *__stream) __attribute__((__nothrow__, __leaf__)); +extern int fprintf(FILE *__restrict __stream, const char *__restrict __format, + ...); +extern int printf(const char *__restrict __format, ...); +extern int sprintf(char *__restrict __s, const char *__restrict __format, ...) + __attribute__((__nothrow__)); -extern FILE *tmpfile (void) ; -extern char *tmpnam (char *__s) __attribute__ ((__nothrow__ , __leaf__)) ; +extern int vfprintf(FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg); +extern int vprintf(const char *__restrict __format, __gnuc_va_list __arg); +extern int vsprintf(char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__((__nothrow__)); +extern int snprintf(char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__((__nothrow__)) __attribute__((__format__(__printf__, 3, 4))); +extern int vsnprintf(char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__((__nothrow__)) __attribute__((__format__(__printf__, 3, 0))); -extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__ , __leaf__)) ; -extern char *tempnam (const char *__dir, const char *__pfx) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) ; +extern int vdprintf(int __fd, const char *__restrict __fmt, + __gnuc_va_list __arg) + __attribute__((__format__(__printf__, 2, 0))); +extern int dprintf(int __fd, const char *__restrict __fmt, ...) + __attribute__((__format__(__printf__, 2, 3))); +extern int fscanf(FILE *__restrict __stream, const char *__restrict __format, + ...); +extern int scanf(const char *__restrict __format, ...); +extern int sscanf(const char *__restrict __s, const char *__restrict __format, + ...) __attribute__((__nothrow__, __leaf__)); +extern int fscanf(FILE *__restrict __stream, const char *__restrict __format, + ...) __asm__("" + "__isoc99_fscanf"); +extern int scanf(const char *__restrict __format, + ...) __asm__("" + "__isoc99_scanf"); +extern int sscanf(const char *__restrict __s, const char *__restrict __format, + ...) __asm__("" + "__isoc99_sscanf") + __attribute__((__nothrow__, __leaf__)); +extern int vfscanf(FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__((__format__(__scanf__, 2, 0))); +extern int vscanf(const char *__restrict __format, __gnuc_va_list __arg) + __attribute__((__format__(__scanf__, 1, 0))); +extern int vsscanf(const char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__((__nothrow__, __leaf__)) + __attribute__((__format__(__scanf__, 2, 0))); +extern int vfscanf(FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __asm__("" + "__isoc99_vfscanf") + __attribute__((__format__(__scanf__, 2, 0))); +extern int vscanf(const char *__restrict __format, + __gnuc_va_list __arg) __asm__("" + "__isoc99_vscanf") + __attribute__((__format__(__scanf__, 1, 0))); +extern int vsscanf(const char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __asm__("" + "__isoc99_vsscanf") + __attribute__((__nothrow__, __leaf__)) + __attribute__((__format__(__scanf__, 2, 0))); +extern int fgetc(FILE *__stream); +extern int getc(FILE *__stream); -extern int fclose (FILE *__stream); +extern int getchar(void); +extern int getc_unlocked(FILE *__stream); +extern int getchar_unlocked(void); +extern int fgetc_unlocked(FILE *__stream); +extern int fputc(int __c, FILE *__stream); +extern int putc(int __c, FILE *__stream); +extern int putchar(int __c); -extern int fflush (FILE *__stream); +extern int fputc_unlocked(int __c, FILE *__stream); -extern int fflush_unlocked (FILE *__stream); +extern int putc_unlocked(int __c, FILE *__stream); +extern int putchar_unlocked(int __c); +extern int getw(FILE *__stream); +extern int putw(int __w, FILE *__stream); +extern char *fgets(char *__restrict __s, int __n, FILE *__restrict __stream); +extern __ssize_t __getdelim(char **__restrict __lineptr, size_t *__restrict __n, + int __delimiter, FILE *__restrict __stream); +extern __ssize_t getdelim(char **__restrict __lineptr, size_t *__restrict __n, + int __delimiter, FILE *__restrict __stream); +extern __ssize_t getline(char **__restrict __lineptr, size_t *__restrict __n, + FILE *__restrict __stream); -extern FILE *fopen (const char *__restrict __filename, - const char *__restrict __modes) ; +extern int fputs(const char *__restrict __s, FILE *__restrict __stream); +extern int puts(const char *__s); +extern int ungetc(int __c, FILE *__stream); +extern size_t fread(void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream); -extern FILE *freopen (const char *__restrict __filename, - const char *__restrict __modes, - FILE *__restrict __stream) ; +extern size_t fwrite(const void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __s); -extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) ; -extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) - __attribute__ ((__nothrow__ , __leaf__)) ; +extern size_t fread_unlocked(void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream); +extern size_t fwrite_unlocked(const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream); +extern int fseek(FILE *__stream, long int __off, int __whence); +extern long int ftell(FILE *__stream); +extern void rewind(FILE *__stream); -extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) ; +extern int fseeko(FILE *__stream, __off_t __off, int __whence); +extern __off_t ftello(FILE *__stream); +extern int fgetpos(FILE *__restrict __stream, fpos_t *__restrict __pos); +extern int fsetpos(FILE *__stream, const fpos_t *__pos); +extern void clearerr(FILE *__stream) __attribute__((__nothrow__, __leaf__)); +extern int feof(FILE *__stream) __attribute__((__nothrow__, __leaf__)); -extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); +extern int ferror(FILE *__stream) __attribute__((__nothrow__, __leaf__)); +extern void clearerr_unlocked(FILE *__stream) + __attribute__((__nothrow__, __leaf__)); +extern int feof_unlocked(FILE *__stream) __attribute__((__nothrow__, __leaf__)); +extern int ferror_unlocked(FILE *__stream) + __attribute__((__nothrow__, __leaf__)); +extern void perror(const char *__s); -extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, - int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); - +extern int sys_nerr; +extern const char *const sys_errlist[]; +extern int fileno(FILE *__stream) __attribute__((__nothrow__, __leaf__)); +extern int fileno_unlocked(FILE *__stream) + __attribute__((__nothrow__, __leaf__)); +extern FILE *popen(const char *__command, const char *__modes); +extern int pclose(FILE *__stream); -extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, - size_t __size) __attribute__ ((__nothrow__ , __leaf__)); +extern char *ctermid(char *__s) __attribute__((__nothrow__, __leaf__)); +extern void flockfile(FILE *__stream) __attribute__((__nothrow__, __leaf__)); +extern int ftrylockfile(FILE *__stream) __attribute__((__nothrow__, __leaf__)); -extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +extern void funlockfile(FILE *__stream) __attribute__((__nothrow__, __leaf__)); +extern __inline + __attribute__((__gnu_inline__)) int vprintf(const char *__restrict __fmt, + __gnuc_va_list __arg) { + return vfprintf(stdout, __fmt, __arg); +} +extern __inline __attribute__((__gnu_inline__)) int getchar(void) { + return _IO_getc(stdin); +} +extern __inline __attribute__((__gnu_inline__)) int fgetc_unlocked(FILE *__fp) { + return (__builtin_expect(((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) + ? __uflow(__fp) + : *(unsigned char *)(__fp)->_IO_read_ptr++); +} +extern __inline __attribute__((__gnu_inline__)) int getc_unlocked(FILE *__fp) { + return (__builtin_expect(((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) + ? __uflow(__fp) + : *(unsigned char *)(__fp)->_IO_read_ptr++); +} +extern __inline __attribute__((__gnu_inline__)) int getchar_unlocked(void) { + return (__builtin_expect(((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) + ? __uflow(stdin) + : *(unsigned char *)(stdin)->_IO_read_ptr++); +} +extern __inline __attribute__((__gnu_inline__)) int putchar(int __c) { + return _IO_putc(__c, stdout); +} +extern __inline + __attribute__((__gnu_inline__)) int fputc_unlocked(int __c, + FILE *__stream) { + return (__builtin_expect( + ((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) + ? __overflow(__stream, (unsigned char)(__c)) + : (unsigned char)(*(__stream)->_IO_write_ptr++ = (__c))); +} +extern __inline + __attribute__((__gnu_inline__)) int putc_unlocked(int __c, FILE *__stream) { + return (__builtin_expect( + ((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) + ? __overflow(__stream, (unsigned char)(__c)) + : (unsigned char)(*(__stream)->_IO_write_ptr++ = (__c))); +} -extern int fprintf (FILE *__restrict __stream, - const char *__restrict __format, ...); +extern __inline __attribute__((__gnu_inline__)) int putchar_unlocked(int __c) { + return ( + __builtin_expect(((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) + ? __overflow(stdout, (unsigned char)(__c)) + : (unsigned char)(*(stdout)->_IO_write_ptr++ = (__c))); +} +extern __inline __attribute__((__gnu_inline__)) int + __attribute__((__nothrow__, __leaf__)) feof_unlocked(FILE *__stream) { + return (((__stream)->_flags & 0x10) != 0); +} +extern __inline __attribute__((__gnu_inline__)) int + __attribute__((__nothrow__, __leaf__)) ferror_unlocked(FILE *__stream) { + return (((__stream)->_flags & 0x20) != 0); +} +typedef unsigned char Byte; +typedef unsigned int uInt; +typedef unsigned long uLong; -extern int printf (const char *__restrict __format, ...); +typedef Byte Bytef; -extern int sprintf (char *__restrict __s, - const char *__restrict __format, ...) __attribute__ ((__nothrow__)); +typedef char charf; +typedef int intf; +typedef uInt uIntf; +typedef uLong uLongf; +typedef void *voidpf; +typedef void *voidp; +typedef __u_char u_char; +typedef __u_short u_short; +typedef __u_int u_int; +typedef __u_long u_long; +typedef __quad_t quad_t; +typedef __u_quad_t u_quad_t; +typedef __fsid_t fsid_t; +typedef __loff_t loff_t; +typedef __ino_t ino_t; +typedef __dev_t dev_t; -extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg); +typedef __gid_t gid_t; +typedef __mode_t mode_t; +typedef __nlink_t nlink_t; +typedef __uid_t uid_t; +typedef __pid_t pid_t; -extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); +typedef __id_t id_t; +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; -extern int vsprintf (char *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg) __attribute__ ((__nothrow__)); +typedef __key_t key_t; +typedef __clock_t clock_t; +typedef __time_t time_t; +typedef __clockid_t clockid_t; +typedef __timer_t timer_t; +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; +typedef int int8_t __attribute__((__mode__(__QI__))); +typedef int int16_t __attribute__((__mode__(__HI__))); +typedef int int32_t __attribute__((__mode__(__SI__))); +typedef int int64_t __attribute__((__mode__(__DI__))); -extern int snprintf (char *__restrict __s, size_t __maxlen, - const char *__restrict __format, ...) - __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); +typedef unsigned int u_int8_t __attribute__((__mode__(__QI__))); +typedef unsigned int u_int16_t __attribute__((__mode__(__HI__))); +typedef unsigned int u_int32_t __attribute__((__mode__(__SI__))); +typedef unsigned int u_int64_t __attribute__((__mode__(__DI__))); -extern int vsnprintf (char *__restrict __s, size_t __maxlen, - const char *__restrict __format, __gnuc_va_list __arg) - __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); +typedef int register_t __attribute__((__mode__(__word__))); -extern int vdprintf (int __fd, const char *__restrict __fmt, - __gnuc_va_list __arg) - __attribute__ ((__format__ (__printf__, 2, 0))); -extern int dprintf (int __fd, const char *__restrict __fmt, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); +static __inline unsigned int __bswap_32(unsigned int __bsx) { + return __builtin_bswap32(__bsx); +} +static __inline __uint64_t __bswap_64(__uint64_t __bsx) { + return __builtin_bswap64(__bsx); +} +typedef int __sig_atomic_t; +typedef struct { + unsigned long int __val[(1024 / (8 * sizeof(unsigned long int)))]; +} __sigset_t; +typedef __sigset_t sigset_t; +struct timespec { + __time_t tv_sec; + __syscall_slong_t tv_nsec; +}; +struct timeval { + __time_t tv_sec; + __suseconds_t tv_usec; +}; +typedef __suseconds_t suseconds_t; +typedef long int __fd_mask; +typedef struct { -extern int fscanf (FILE *__restrict __stream, - const char *__restrict __format, ...) ; + __fd_mask __fds_bits[1024 / (8 * (int)sizeof(__fd_mask))]; +} fd_set; +typedef __fd_mask fd_mask; +extern int select(int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +extern int pselect(int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + const struct timespec *__restrict __timeout, + const __sigset_t *__restrict __sigmask); + +__extension__ extern unsigned int gnu_dev_major(unsigned long long int __dev) + __attribute__((__nothrow__, __leaf__)) __attribute__((__const__)); +__extension__ extern unsigned int gnu_dev_minor(unsigned long long int __dev) + __attribute__((__nothrow__, __leaf__)) __attribute__((__const__)); +__extension__ extern unsigned long long int +gnu_dev_makedev(unsigned int __major, unsigned int __minor) + __attribute__((__nothrow__, __leaf__)) __attribute__((__const__)); + +__extension__ extern __inline __attribute__((__gnu_inline__)) + __attribute__((__const__)) unsigned int + __attribute__((__nothrow__, __leaf__)) + gnu_dev_major(unsigned long long int __dev) { + return ((__dev >> 8) & 0xfff) | ((unsigned int)(__dev >> 32) & ~0xfff); +} -extern int scanf (const char *__restrict __format, ...) ; +__extension__ extern __inline __attribute__((__gnu_inline__)) + __attribute__((__const__)) unsigned int + __attribute__((__nothrow__, __leaf__)) + gnu_dev_minor(unsigned long long int __dev) { + return (__dev & 0xff) | ((unsigned int)(__dev >> 12) & ~0xff); +} -extern int sscanf (const char *__restrict __s, - const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); -extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") +__extension__ extern __inline __attribute__((__gnu_inline__)) + __attribute__((__const__)) unsigned long long int + __attribute__((__nothrow__, __leaf__)) + gnu_dev_makedev(unsigned int __major, unsigned int __minor) { + return ((__minor & 0xff) | ((__major & 0xfff) << 8) | + (((unsigned long long int)(__minor & ~0xff)) << 12) | + (((unsigned long long int)(__major & ~0xfff)) << 32)); +} - ; -extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") - ; -extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) +typedef __blksize_t blksize_t; - ; +typedef __blkcnt_t blkcnt_t; +typedef __fsblkcnt_t fsblkcnt_t; +typedef __fsfilcnt_t fsfilcnt_t; +typedef unsigned long int pthread_t; +union pthread_attr_t { + char __size[56]; + long int __align; +}; +typedef union pthread_attr_t pthread_attr_t; +typedef struct __pthread_internal_list { + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; +typedef union { + struct __pthread_mutex_s { + int __lock; + unsigned int __count; + int __owner; + unsigned int __nusers; + int __kind; -extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg) - __attribute__ ((__format__ (__scanf__, 2, 0))) ; + short __spins; + short __elision; + __pthread_list_t __list; + } __data; + char __size[40]; + long int __align; +} pthread_mutex_t; +typedef union { + char __size[4]; + int __align; +} pthread_mutexattr_t; +typedef union { + struct { + int __lock; + unsigned int __futex; + __extension__ unsigned long long int __total_seq; + __extension__ unsigned long long int __wakeup_seq; + __extension__ unsigned long long int __woken_seq; + void *__mutex; + unsigned int __nwaiters; + unsigned int __broadcast_seq; + } __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; +typedef union { + char __size[4]; + int __align; +} pthread_condattr_t; +typedef unsigned int pthread_key_t; -extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) - __attribute__ ((__format__ (__scanf__, 1, 0))) ; +typedef int pthread_once_t; +typedef union { -extern int vsscanf (const char *__restrict __s, - const char *__restrict __format, __gnuc_va_list __arg) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); -extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + struct { + int __lock; + unsigned int __nr_readers; + unsigned int __readers_wakeup; + unsigned int __writer_wakeup; + unsigned int __nr_readers_queued; + unsigned int __nr_writers_queued; + int __writer; + int __shared; + unsigned long int __pad1; + unsigned long int __pad2; + unsigned int __flags; + } __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; - __attribute__ ((__format__ (__scanf__, 2, 0))) ; -extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") +typedef union { + char __size[8]; + long int __align; +} pthread_rwlockattr_t; - __attribute__ ((__format__ (__scanf__, 1, 0))) ; -extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) +typedef volatile int pthread_spinlock_t; +typedef union { + char __size[32]; + long int __align; +} pthread_barrier_t; +typedef union { + char __size[4]; + int __align; +} pthread_barrierattr_t; - __attribute__ ((__format__ (__scanf__, 2, 0))); +typedef __useconds_t useconds_t; +typedef __intptr_t intptr_t; +typedef __socklen_t socklen_t; +extern int access(const char *__name, int __type) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern int faccessat(int __fd, const char *__file, int __type, int __flag) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(2))); +extern __off_t lseek(int __fd, __off_t __offset, int __whence) + __attribute__((__nothrow__, __leaf__)); +extern int close(int __fd); +extern ssize_t read(int __fd, void *__buf, size_t __nbytes); +extern ssize_t write(int __fd, const void *__buf, size_t __n); +extern ssize_t pread(int __fd, void *__buf, size_t __nbytes, __off_t __offset); +extern ssize_t pwrite(int __fd, const void *__buf, size_t __n, + __off_t __offset); +extern int pipe(int __pipedes[2]) __attribute__((__nothrow__, __leaf__)); +extern unsigned int alarm(unsigned int __seconds) + __attribute__((__nothrow__, __leaf__)); +extern unsigned int sleep(unsigned int __seconds); +extern __useconds_t ualarm(__useconds_t __value, __useconds_t __interval) + __attribute__((__nothrow__, __leaf__)); +extern int usleep(__useconds_t __useconds); +extern int pause(void); +extern int chown(const char *__file, __uid_t __owner, __gid_t __group) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern int fchown(int __fd, __uid_t __owner, __gid_t __group) + __attribute__((__nothrow__, __leaf__)); -extern int fgetc (FILE *__stream); -extern int getc (FILE *__stream); +extern int lchown(const char *__file, __uid_t __owner, __gid_t __group) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern int fchownat(int __fd, const char *__file, __uid_t __owner, + __gid_t __group, int __flag) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(2))); +extern int chdir(const char *__path) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1))); +extern int fchdir(int __fd) __attribute__((__nothrow__, __leaf__)); +extern char *getcwd(char *__buf, size_t __size) + __attribute__((__nothrow__, __leaf__)); +extern char *getwd(char *__buf) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1))) __attribute__((__deprecated__)); +extern int dup(int __fd) __attribute__((__nothrow__, __leaf__)); -extern int getchar (void); +extern int dup2(int __fd, int __fd2) __attribute__((__nothrow__, __leaf__)); +extern char **__environ; -extern int getc_unlocked (FILE *__stream); -extern int getchar_unlocked (void); -extern int fgetc_unlocked (FILE *__stream); +extern int execve(const char *__path, char *const __argv[], + char *const __envp[]) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1, 2))); + +extern int fexecve(int __fd, char *const __argv[], char *const __envp[]) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(2))); + +extern int execv(const char *__path, char *const __argv[]) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); + +extern int execle(const char *__path, const char *__arg, ...) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); + +extern int execl(const char *__path, const char *__arg, ...) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); + +extern int execvp(const char *__file, char *const __argv[]) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); + +extern int execlp(const char *__file, const char *__arg, ...) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); +extern int nice(int __inc) __attribute__((__nothrow__, __leaf__)); + +extern void _exit(int __status) __attribute__((__noreturn__)); + +enum { + _PC_LINK_MAX, + _PC_MAX_CANON, + _PC_MAX_INPUT, + _PC_NAME_MAX, + _PC_PATH_MAX, + _PC_PIPE_BUF, + _PC_CHOWN_RESTRICTED, + _PC_NO_TRUNC, + _PC_VDISABLE, + _PC_SYNC_IO, + _PC_ASYNC_IO, + _PC_PRIO_IO, + _PC_SOCK_MAXBUF, + _PC_FILESIZEBITS, + _PC_REC_INCR_XFER_SIZE, + _PC_REC_MAX_XFER_SIZE, + _PC_REC_MIN_XFER_SIZE, + _PC_REC_XFER_ALIGN, + _PC_ALLOC_SIZE_MIN, + _PC_SYMLINK_MAX, + _PC_2_SYMLINKS +}; +enum { + _SC_ARG_MAX, + _SC_CHILD_MAX, + _SC_CLK_TCK, + _SC_NGROUPS_MAX, + _SC_OPEN_MAX, + _SC_STREAM_MAX, + _SC_TZNAME_MAX, + _SC_JOB_CONTROL, + _SC_SAVED_IDS, + _SC_REALTIME_SIGNALS, + _SC_PRIORITY_SCHEDULING, + _SC_TIMERS, + _SC_ASYNCHRONOUS_IO, + _SC_PRIORITIZED_IO, + _SC_SYNCHRONIZED_IO, + _SC_FSYNC, + _SC_MAPPED_FILES, + _SC_MEMLOCK, + _SC_MEMLOCK_RANGE, + _SC_MEMORY_PROTECTION, + _SC_MESSAGE_PASSING, + _SC_SEMAPHORES, + _SC_SHARED_MEMORY_OBJECTS, + _SC_AIO_LISTIO_MAX, + _SC_AIO_MAX, + _SC_AIO_PRIO_DELTA_MAX, + _SC_DELAYTIMER_MAX, + _SC_MQ_OPEN_MAX, + _SC_MQ_PRIO_MAX, + _SC_VERSION, + _SC_PAGESIZE, + _SC_RTSIG_MAX, + _SC_SEM_NSEMS_MAX, + _SC_SEM_VALUE_MAX, + _SC_SIGQUEUE_MAX, + _SC_TIMER_MAX, + _SC_BC_BASE_MAX, + _SC_BC_DIM_MAX, + _SC_BC_SCALE_MAX, + _SC_BC_STRING_MAX, + _SC_COLL_WEIGHTS_MAX, + _SC_EQUIV_CLASS_MAX, + _SC_EXPR_NEST_MAX, + _SC_LINE_MAX, + _SC_RE_DUP_MAX, + _SC_CHARCLASS_NAME_MAX, + _SC_2_VERSION, + _SC_2_C_BIND, + _SC_2_C_DEV, + _SC_2_FORT_DEV, + _SC_2_FORT_RUN, + _SC_2_SW_DEV, + _SC_2_LOCALEDEF, + _SC_PII, + _SC_PII_XTI, + _SC_PII_SOCKET, + _SC_PII_INTERNET, + _SC_PII_OSI, + _SC_POLL, + _SC_SELECT, + _SC_UIO_MAXIOV, + _SC_IOV_MAX = _SC_UIO_MAXIOV, + _SC_PII_INTERNET_STREAM, + _SC_PII_INTERNET_DGRAM, + _SC_PII_OSI_COTS, + _SC_PII_OSI_CLTS, + _SC_PII_OSI_M, + _SC_T_IOV_MAX, + _SC_THREADS, + _SC_THREAD_SAFE_FUNCTIONS, + _SC_GETGR_R_SIZE_MAX, + _SC_GETPW_R_SIZE_MAX, + _SC_LOGIN_NAME_MAX, + _SC_TTY_NAME_MAX, + _SC_THREAD_DESTRUCTOR_ITERATIONS, + _SC_THREAD_KEYS_MAX, + _SC_THREAD_STACK_MIN, + _SC_THREAD_THREADS_MAX, + _SC_THREAD_ATTR_STACKADDR, + _SC_THREAD_ATTR_STACKSIZE, + _SC_THREAD_PRIORITY_SCHEDULING, + _SC_THREAD_PRIO_INHERIT, + _SC_THREAD_PRIO_PROTECT, + _SC_THREAD_PROCESS_SHARED, + _SC_NPROCESSORS_CONF, + _SC_NPROCESSORS_ONLN, + _SC_PHYS_PAGES, + _SC_AVPHYS_PAGES, + _SC_ATEXIT_MAX, + _SC_PASS_MAX, + _SC_XOPEN_VERSION, + _SC_XOPEN_XCU_VERSION, + _SC_XOPEN_UNIX, + _SC_XOPEN_CRYPT, + _SC_XOPEN_ENH_I18N, + _SC_XOPEN_SHM, + _SC_2_CHAR_TERM, + _SC_2_C_VERSION, + _SC_2_UPE, + _SC_XOPEN_XPG2, + _SC_XOPEN_XPG3, + _SC_XOPEN_XPG4, + _SC_CHAR_BIT, + _SC_CHAR_MAX, + _SC_CHAR_MIN, + _SC_INT_MAX, + _SC_INT_MIN, + _SC_LONG_BIT, + _SC_WORD_BIT, + _SC_MB_LEN_MAX, + _SC_NZERO, + _SC_SSIZE_MAX, + _SC_SCHAR_MAX, + _SC_SCHAR_MIN, + _SC_SHRT_MAX, + _SC_SHRT_MIN, + _SC_UCHAR_MAX, + _SC_UINT_MAX, + _SC_ULONG_MAX, + _SC_USHRT_MAX, + _SC_NL_ARGMAX, + _SC_NL_LANGMAX, + _SC_NL_MSGMAX, + _SC_NL_NMAX, + _SC_NL_SETMAX, + _SC_NL_TEXTMAX, + _SC_XBS5_ILP32_OFF32, + _SC_XBS5_ILP32_OFFBIG, + _SC_XBS5_LP64_OFF64, + _SC_XBS5_LPBIG_OFFBIG, + _SC_XOPEN_LEGACY, + _SC_XOPEN_REALTIME, + _SC_XOPEN_REALTIME_THREADS, + _SC_ADVISORY_INFO, + _SC_BARRIERS, + _SC_BASE, + _SC_C_LANG_SUPPORT, + _SC_C_LANG_SUPPORT_R, + _SC_CLOCK_SELECTION, + _SC_CPUTIME, + _SC_THREAD_CPUTIME, + _SC_DEVICE_IO, + _SC_DEVICE_SPECIFIC, + _SC_DEVICE_SPECIFIC_R, + _SC_FD_MGMT, + _SC_FIFO, + _SC_PIPE, + _SC_FILE_ATTRIBUTES, + _SC_FILE_LOCKING, + _SC_FILE_SYSTEM, + _SC_MONOTONIC_CLOCK, + _SC_MULTI_PROCESS, + _SC_SINGLE_PROCESS, + _SC_NETWORKING, + _SC_READER_WRITER_LOCKS, + _SC_SPIN_LOCKS, + _SC_REGEXP, + _SC_REGEX_VERSION, + _SC_SHELL, + _SC_SIGNALS, + _SC_SPAWN, + _SC_SPORADIC_SERVER, + _SC_THREAD_SPORADIC_SERVER, + _SC_SYSTEM_DATABASE, + _SC_SYSTEM_DATABASE_R, + _SC_TIMEOUTS, + _SC_TYPED_MEMORY_OBJECTS, + _SC_USER_GROUPS, + _SC_USER_GROUPS_R, + _SC_2_PBS, + _SC_2_PBS_ACCOUNTING, + _SC_2_PBS_LOCATE, + _SC_2_PBS_MESSAGE, + _SC_2_PBS_TRACK, + _SC_SYMLOOP_MAX, + _SC_STREAMS, + _SC_2_PBS_CHECKPOINT, + _SC_V6_ILP32_OFF32, + _SC_V6_ILP32_OFFBIG, + _SC_V6_LP64_OFF64, + _SC_V6_LPBIG_OFFBIG, + _SC_HOST_NAME_MAX, + _SC_TRACE, + _SC_TRACE_EVENT_FILTER, + _SC_TRACE_INHERIT, + _SC_TRACE_LOG, + _SC_LEVEL1_ICACHE_SIZE, + _SC_LEVEL1_ICACHE_ASSOC, + _SC_LEVEL1_ICACHE_LINESIZE, + _SC_LEVEL1_DCACHE_SIZE, + _SC_LEVEL1_DCACHE_ASSOC, + _SC_LEVEL1_DCACHE_LINESIZE, + _SC_LEVEL2_CACHE_SIZE, + _SC_LEVEL2_CACHE_ASSOC, + _SC_LEVEL2_CACHE_LINESIZE, + _SC_LEVEL3_CACHE_SIZE, + _SC_LEVEL3_CACHE_ASSOC, + _SC_LEVEL3_CACHE_LINESIZE, + _SC_LEVEL4_CACHE_SIZE, + _SC_LEVEL4_CACHE_ASSOC, + _SC_LEVEL4_CACHE_LINESIZE, + _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, + _SC_RAW_SOCKETS, + _SC_V7_ILP32_OFF32, + _SC_V7_ILP32_OFFBIG, + _SC_V7_LP64_OFF64, + _SC_V7_LPBIG_OFFBIG, + _SC_SS_REPL_MAX, + _SC_TRACE_EVENT_NAME_MAX, + _SC_TRACE_NAME_MAX, + _SC_TRACE_SYS_MAX, + _SC_TRACE_USER_EVENT_MAX, + _SC_XOPEN_STREAMS, + _SC_THREAD_ROBUST_PRIO_INHERIT, + _SC_THREAD_ROBUST_PRIO_PROTECT +}; +enum { + _CS_PATH, + _CS_V6_WIDTH_RESTRICTED_ENVS, + _CS_GNU_LIBC_VERSION, + _CS_GNU_LIBPTHREAD_VERSION, + _CS_V5_WIDTH_RESTRICTED_ENVS, + _CS_V7_WIDTH_RESTRICTED_ENVS, + _CS_LFS_CFLAGS = 1000, + _CS_LFS_LDFLAGS, + _CS_LFS_LIBS, + _CS_LFS_LINTFLAGS, + _CS_LFS64_CFLAGS, + _CS_LFS64_LDFLAGS, + _CS_LFS64_LIBS, + _CS_LFS64_LINTFLAGS, + _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, + _CS_XBS5_ILP32_OFF32_LDFLAGS, + _CS_XBS5_ILP32_OFF32_LIBS, + _CS_XBS5_ILP32_OFF32_LINTFLAGS, + _CS_XBS5_ILP32_OFFBIG_CFLAGS, + _CS_XBS5_ILP32_OFFBIG_LDFLAGS, + _CS_XBS5_ILP32_OFFBIG_LIBS, + _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, + _CS_XBS5_LP64_OFF64_CFLAGS, + _CS_XBS5_LP64_OFF64_LDFLAGS, + _CS_XBS5_LP64_OFF64_LIBS, + _CS_XBS5_LP64_OFF64_LINTFLAGS, + _CS_XBS5_LPBIG_OFFBIG_CFLAGS, + _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, + _CS_XBS5_LPBIG_OFFBIG_LIBS, + _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, + _CS_POSIX_V6_ILP32_OFF32_CFLAGS, + _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, + _CS_POSIX_V6_ILP32_OFF32_LIBS, + _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, + _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, + _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, + _CS_POSIX_V6_ILP32_OFFBIG_LIBS, + _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, + _CS_POSIX_V6_LP64_OFF64_CFLAGS, + _CS_POSIX_V6_LP64_OFF64_LDFLAGS, + _CS_POSIX_V6_LP64_OFF64_LIBS, + _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, + _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, + _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, + _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, + _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, + _CS_POSIX_V7_ILP32_OFF32_CFLAGS, + _CS_POSIX_V7_ILP32_OFF32_LDFLAGS, + _CS_POSIX_V7_ILP32_OFF32_LIBS, + _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS, + _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS, + _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS, + _CS_POSIX_V7_ILP32_OFFBIG_LIBS, + _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS, + _CS_POSIX_V7_LP64_OFF64_CFLAGS, + _CS_POSIX_V7_LP64_OFF64_LDFLAGS, + _CS_POSIX_V7_LP64_OFF64_LIBS, + _CS_POSIX_V7_LP64_OFF64_LINTFLAGS, + _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS, + _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, + _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, + _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS, + _CS_V6_ENV, + _CS_V7_ENV +}; +extern long int pathconf(const char *__path, int __name) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern long int fpathconf(int __fd, int __name) + __attribute__((__nothrow__, __leaf__)); +extern long int sysconf(int __name) __attribute__((__nothrow__, __leaf__)); +extern size_t confstr(int __name, char *__buf, size_t __len) + __attribute__((__nothrow__, __leaf__)); +extern __pid_t getpid(void) __attribute__((__nothrow__, __leaf__)); +extern __pid_t getppid(void) __attribute__((__nothrow__, __leaf__)); +extern __pid_t getpgrp(void) __attribute__((__nothrow__, __leaf__)); +extern __pid_t __getpgid(__pid_t __pid) __attribute__((__nothrow__, __leaf__)); +extern __pid_t getpgid(__pid_t __pid) __attribute__((__nothrow__, __leaf__)); -extern int fputc (int __c, FILE *__stream); -extern int putc (int __c, FILE *__stream); +extern int setpgid(__pid_t __pid, __pid_t __pgid) + __attribute__((__nothrow__, __leaf__)); +extern int setpgrp(void) __attribute__((__nothrow__, __leaf__)); +extern __pid_t setsid(void) __attribute__((__nothrow__, __leaf__)); +extern __pid_t getsid(__pid_t __pid) __attribute__((__nothrow__, __leaf__)); +extern __uid_t getuid(void) __attribute__((__nothrow__, __leaf__)); +extern __uid_t geteuid(void) __attribute__((__nothrow__, __leaf__)); +extern __gid_t getgid(void) __attribute__((__nothrow__, __leaf__)); -extern int putchar (int __c); +extern __gid_t getegid(void) __attribute__((__nothrow__, __leaf__)); -extern int fputc_unlocked (int __c, FILE *__stream); +extern int getgroups(int __size, __gid_t __list[]) + __attribute__((__nothrow__, __leaf__)); +extern int setuid(__uid_t __uid) __attribute__((__nothrow__, __leaf__)); +extern int setreuid(__uid_t __ruid, __uid_t __euid) + __attribute__((__nothrow__, __leaf__)); +extern int seteuid(__uid_t __uid) __attribute__((__nothrow__, __leaf__)); +extern int setgid(__gid_t __gid) __attribute__((__nothrow__, __leaf__)); +extern int setregid(__gid_t __rgid, __gid_t __egid) + __attribute__((__nothrow__, __leaf__)); +extern int setegid(__gid_t __gid) __attribute__((__nothrow__, __leaf__)); +extern __pid_t fork(void) __attribute__((__nothrow__)); +extern __pid_t vfork(void) __attribute__((__nothrow__, __leaf__)); -extern int putc_unlocked (int __c, FILE *__stream); -extern int putchar_unlocked (int __c); +extern char *ttyname(int __fd) __attribute__((__nothrow__, __leaf__)); +extern int ttyname_r(int __fd, char *__buf, size_t __buflen) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(2))); +extern int isatty(int __fd) __attribute__((__nothrow__, __leaf__)); +extern int ttyslot(void) __attribute__((__nothrow__, __leaf__)); +extern int link(const char *__from, const char *__to) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); +extern int linkat(int __fromfd, const char *__from, int __tofd, + const char *__to, int __flags) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(2, 4))); -extern int getw (FILE *__stream); +extern int symlink(const char *__from, const char *__to) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); +extern ssize_t readlink(const char *__restrict __path, char *__restrict __buf, + size_t __len) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1, 2))); -extern int putw (int __w, FILE *__stream); +extern int symlinkat(const char *__from, int __tofd, const char *__to) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 3))); +extern ssize_t readlinkat(int __fd, const char *__restrict __path, + char *__restrict __buf, size_t __len) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(2, 3))); +extern int unlink(const char *__name) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1))); +extern int unlinkat(int __fd, const char *__name, int __flag) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(2))); +extern int rmdir(const char *__path) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1))); +extern __pid_t tcgetpgrp(int __fd) __attribute__((__nothrow__, __leaf__)); +extern int tcsetpgrp(int __fd, __pid_t __pgrp_id) + __attribute__((__nothrow__, __leaf__)); +extern char *getlogin(void); -extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) - ; +extern int getlogin_r(char *__name, size_t __name_len) + __attribute__((__nonnull__(1))); -extern __ssize_t __getdelim (char **__restrict __lineptr, - size_t *__restrict __n, int __delimiter, - FILE *__restrict __stream) ; -extern __ssize_t getdelim (char **__restrict __lineptr, - size_t *__restrict __n, int __delimiter, - FILE *__restrict __stream) ; +extern int setlogin(const char *__name) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1))); +extern char *optarg; +extern int optind; +extern int opterr; +extern int optopt; +extern int getopt(int ___argc, char *const *___argv, const char *__shortopts) + __attribute__((__nothrow__, __leaf__)); +extern int gethostname(char *__name, size_t __len) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern int sethostname(const char *__name, size_t __len) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern int sethostid(long int __id) __attribute__((__nothrow__, __leaf__)); +extern int getdomainname(char *__name, size_t __len) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern int setdomainname(const char *__name, size_t __len) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); -extern __ssize_t getline (char **__restrict __lineptr, - size_t *__restrict __n, - FILE *__restrict __stream) ; +extern int vhangup(void) __attribute__((__nothrow__, __leaf__)); +extern int revoke(const char *__file) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1))); +extern int profil(unsigned short int *__sample_buffer, size_t __size, + size_t __offset, unsigned int __scale) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern int acct(const char *__name) __attribute__((__nothrow__, __leaf__)); +extern char *getusershell(void) __attribute__((__nothrow__, __leaf__)); +extern void endusershell(void) __attribute__((__nothrow__, __leaf__)); +extern void setusershell(void) __attribute__((__nothrow__, __leaf__)); +extern int daemon(int __nochdir, int __noclose) + __attribute__((__nothrow__, __leaf__)); +extern int chroot(const char *__path) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1))); +extern char *getpass(const char *__prompt) __attribute__((__nonnull__(1))); -extern int fputs (const char *__restrict __s, FILE *__restrict __stream); +extern int fsync(int __fd); +extern long int gethostid(void); +extern void sync(void) __attribute__((__nothrow__, __leaf__)); +extern int getpagesize(void) __attribute__((__nothrow__, __leaf__)) + __attribute__((__const__)); +extern int getdtablesize(void) __attribute__((__nothrow__, __leaf__)); +extern int truncate(const char *__file, __off_t __length) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern int ftruncate(int __fd, __off_t __length) + __attribute__((__nothrow__, __leaf__)); +extern int brk(void *__addr) __attribute__((__nothrow__, __leaf__)); +extern void *sbrk(intptr_t __delta) __attribute__((__nothrow__, __leaf__)); +extern long int syscall(long int __sysno, ...) + __attribute__((__nothrow__, __leaf__)); +extern int lockf(int __fd, int __cmd, __off_t __len); +extern int fdatasync(int __fildes); -extern int puts (const char *__s); +typedef voidpf (*alloc_func)(voidpf opaque, uInt items, uInt size); +typedef void (*free_func)(voidpf opaque, voidpf address); +struct internal_state; +typedef struct z_stream_s { + Bytef *next_in; + uInt avail_in; + uLong total_in; + Bytef *next_out; + uInt avail_out; + uLong total_out; + char *msg; + struct internal_state *state; + alloc_func zalloc; + free_func zfree; + voidpf opaque; -extern int ungetc (int __c, FILE *__stream); + int data_type; + uLong adler; + uLong reserved; +} z_stream; +typedef z_stream *z_streamp; +extern const char *zlibVersion(void); +extern int deflate(z_streamp strm, int flush); +extern int deflateEnd(z_streamp strm); +extern int inflate(z_streamp strm, int flush); +extern int inflateEnd(z_streamp strm); +extern int deflateSetDictionary(z_streamp strm, const Bytef *dictionary, + uInt dictLength); +extern int deflateCopy(z_streamp dest, z_streamp source); +extern int deflateReset(z_streamp strm); +extern int deflateParams(z_streamp strm, int level, int strategy); +extern int inflateSetDictionary(z_streamp strm, const Bytef *dictionary, + uInt dictLength); +extern int inflateSync(z_streamp strm); +extern int inflateReset(z_streamp strm); +extern int compress(Bytef *dest, uLongf *destLen, const Bytef *source, + uLong sourceLen); +extern int compress2(Bytef *dest, uLongf *destLen, const Bytef *source, + uLong sourceLen, int level); +extern int uncompress(Bytef *dest, uLongf *destLen, const Bytef *source, + uLong sourceLen); +typedef voidp gzFile; +extern gzFile gzopen(const char *path, const char *mode); +extern gzFile gzdopen(int fd, const char *mode); +extern int gzsetparams(gzFile file, int level, int strategy); +extern int gzread(gzFile file, voidp buf, unsigned len); +extern int gzwrite(gzFile file, const voidp buf, unsigned len); +extern int gzprintf(gzFile file, const char *format, ...); -extern size_t fread (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream) ; +extern int gzputs(gzFile file, const char *s); +extern char *gzgets(gzFile file, char *buf, int len); +extern int gzputc(gzFile file, int c); +extern int gzgetc(gzFile file); +extern int gzflush(gzFile file, int flush); +extern off_t gzseek(gzFile file, off_t offset, int whence); +extern int gzrewind(gzFile file); -extern size_t fwrite (const void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __s); +extern off_t gztell(gzFile file); +extern int gzeof(gzFile file); -extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream) ; -extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream); +extern int gzclose(gzFile file); +extern const char *gzerror(gzFile file, int *errnum); +extern uLong adler32(uLong adler, const Bytef *buf, uInt len); +extern uLong crc32(uLong crc, const Bytef *buf, uInt len); +extern int deflateInit_(z_streamp strm, int level, const char *version, + int stream_size); +extern int inflateInit_(z_streamp strm, const char *version, int stream_size); +extern int deflateInit2_(z_streamp strm, int level, int method, int windowBits, + int memLevel, int strategy, const char *version, + int stream_size); +extern int inflateInit2_(z_streamp strm, int windowBits, const char *version, + int stream_size); +extern const char *zError(int err); +extern int inflateSyncPoint(z_streamp z); +extern const uLongf *get_crc_table(void); +typedef long int ptrdiff_t; +typedef int wchar_t; +typedef struct { + long long __max_align_ll __attribute__((__aligned__(__alignof__(long long)))); + long double __max_align_ld + __attribute__((__aligned__(__alignof__(long double)))); +} max_align_t; +extern void *memcpy(void *__restrict __dest, const void *__restrict __src, + size_t __n) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1, 2))); +extern void *memmove(void *__dest, const void *__src, size_t __n) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); +extern void *memccpy(void *__restrict __dest, const void *__restrict __src, + int __c, size_t __n) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1, 2))); +extern void *memset(void *__s, int __c, size_t __n) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern int memcmp(const void *__s1, const void *__s2, size_t __n) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1, 2))); +extern void *memchr(const void *__s, int __c, size_t __n) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1))); -extern int fseek (FILE *__stream, long int __off, int __whence); +extern char *strcpy(char *__restrict __dest, const char *__restrict __src) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); +extern char *strncpy(char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1, 2))); +extern char *strcat(char *__restrict __dest, const char *__restrict __src) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); +extern char *strncat(char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1, 2))); -extern long int ftell (FILE *__stream) ; +extern int strcmp(const char *__s1, const char *__s2) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1, 2))); +extern int strncmp(const char *__s1, const char *__s2, size_t __n) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1, 2))); +extern int strcoll(const char *__s1, const char *__s2) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1, 2))); +extern size_t strxfrm(char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(2))); -extern void rewind (FILE *__stream); - -extern int fseeko (FILE *__stream, __off_t __off, int __whence); - - - - -extern __off_t ftello (FILE *__stream) ; - - - - - - -extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); - - - - -extern int fsetpos (FILE *__stream, const fpos_t *__pos); - - - -extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); - -extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; - -extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; - - - - -extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); -extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; -extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; - - - - - - - - -extern void perror (const char *__s); - - - - - - -extern int sys_nerr; -extern const char *const sys_errlist[]; - - - - -extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; - - - - -extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; -extern FILE *popen (const char *__command, const char *__modes) ; - - - - - -extern int pclose (FILE *__stream); - - - - - -extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)); -extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); - - - -extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; - - -extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); -extern __inline __attribute__ ((__gnu_inline__)) int -vprintf (const char *__restrict __fmt, __gnuc_va_list __arg) -{ - return vfprintf (stdout, __fmt, __arg); -} - - - -extern __inline __attribute__ ((__gnu_inline__)) int -getchar (void) -{ - return _IO_getc (stdin); -} - - - - -extern __inline __attribute__ ((__gnu_inline__)) int -fgetc_unlocked (FILE *__fp) -{ - return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); -} +typedef struct __locale_struct { + struct __locale_data *__locales[13]; + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + const char *__names[13]; +} *__locale_t; +typedef __locale_t locale_t; -extern __inline __attribute__ ((__gnu_inline__)) int -getc_unlocked (FILE *__fp) -{ - return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +extern int strcoll_l(const char *__s1, const char *__s2, __locale_t __l) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1, 2, 3))); + +extern size_t strxfrm_l(char *__dest, const char *__src, size_t __n, + __locale_t __l) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(2, 4))); + +extern char *strdup(const char *__s) __attribute__((__nothrow__, __leaf__)) + __attribute__((__malloc__)) __attribute__((__nonnull__(1))); + +extern char *strndup(const char *__string, size_t __n) + __attribute__((__nothrow__, __leaf__)) __attribute__((__malloc__)) + __attribute__((__nonnull__(1))); + +extern char *strchr(const char *__s, int __c) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1))); +extern char *strrchr(const char *__s, int __c) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1))); + +extern size_t strcspn(const char *__s, const char *__reject) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1, 2))); + +extern size_t strspn(const char *__s, const char *__accept) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1, 2))); +extern char *strpbrk(const char *__s, const char *__accept) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1, 2))); +extern char *strstr(const char *__haystack, const char *__needle) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1, 2))); + +extern char *strtok(char *__restrict __s, const char *__restrict __delim) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(2))); + +extern char *__strtok_r(char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(2, 3))); + +extern char *strtok_r(char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(2, 3))); + +extern size_t strlen(const char *__s) __attribute__((__nothrow__, __leaf__)) + __attribute__((__pure__)) __attribute__((__nonnull__(1))); + +extern size_t strnlen(const char *__string, size_t __maxlen) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1))); + +extern char *strerror(int __errnum) __attribute__((__nothrow__, __leaf__)); + +extern int strerror_r(int __errnum, char *__buf, + size_t __buflen) __asm__("" + "__xpg_strerror_r") + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(2))); +extern char *strerror_l(int __errnum, __locale_t __l) + __attribute__((__nothrow__, __leaf__)); + +extern void __bzero(void *__s, size_t __n) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); + +extern void bcopy(const void *__src, void *__dest, size_t __n) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); + +extern void bzero(void *__s, size_t __n) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1))); + +extern int bcmp(const void *__s1, const void *__s2, size_t __n) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1, 2))); +extern char *index(const char *__s, int __c) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1))); +extern char *rindex(const char *__s, int __c) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1))); + +extern int ffs(int __i) __attribute__((__nothrow__, __leaf__)) + __attribute__((__const__)); +extern int strcasecmp(const char *__s1, const char *__s2) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1, 2))); + +extern int strncasecmp(const char *__s1, const char *__s2, size_t __n) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1, 2))); +extern char *strsep(char **__restrict __stringp, const char *__restrict __delim) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); + +extern char *strsignal(int __sig) __attribute__((__nothrow__, __leaf__)); + +extern char *__stpcpy(char *__restrict __dest, const char *__restrict __src) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); +extern char *stpcpy(char *__restrict __dest, const char *__restrict __src) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); + +extern char *__stpncpy(char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1, 2))); +extern char *stpncpy(char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1, 2))); + +extern void *__rawmemchr(const void *__s, int __c); +extern __inline + __attribute__((__gnu_inline__)) size_t __strcspn_c1(const char *__s, + int __reject); +extern __inline + __attribute__((__gnu_inline__)) size_t __strcspn_c1(const char *__s, + int __reject) { + size_t __result = 0; + while (__s[__result] != '\0' && __s[__result] != __reject) + ++__result; + return __result; } - -extern __inline __attribute__ ((__gnu_inline__)) int -getchar_unlocked (void) -{ - return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); +extern __inline + __attribute__((__gnu_inline__)) size_t __strcspn_c2(const char *__s, + int __reject1, + int __reject2); +extern __inline + __attribute__((__gnu_inline__)) size_t __strcspn_c2(const char *__s, + int __reject1, + int __reject2) { + size_t __result = 0; + while (__s[__result] != '\0' && __s[__result] != __reject1 && + __s[__result] != __reject2) + ++__result; + return __result; } - - - -extern __inline __attribute__ ((__gnu_inline__)) int -putchar (int __c) -{ - return _IO_putc (__c, stdout); +extern __inline __attribute__((__gnu_inline__)) size_t __strcspn_c3( + const char *__s, int __reject1, int __reject2, int __reject3); +extern __inline __attribute__((__gnu_inline__)) size_t __strcspn_c3( + const char *__s, int __reject1, int __reject2, int __reject3) { + size_t __result = 0; + while (__s[__result] != '\0' && __s[__result] != __reject1 && + __s[__result] != __reject2 && __s[__result] != __reject3) + ++__result; + return __result; } +extern __inline + __attribute__((__gnu_inline__)) size_t __strspn_c1(const char *__s, + int __accept); +extern __inline + __attribute__((__gnu_inline__)) size_t __strspn_c1(const char *__s, + int __accept) { + size_t __result = 0; - - - -extern __inline __attribute__ ((__gnu_inline__)) int -fputc_unlocked (int __c, FILE *__stream) -{ - return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); + while (__s[__result] == __accept) + ++__result; + return __result; } +extern __inline + __attribute__((__gnu_inline__)) size_t __strspn_c2(const char *__s, + int __accept1, + int __accept2); +extern __inline + __attribute__((__gnu_inline__)) size_t __strspn_c2(const char *__s, + int __accept1, + int __accept2) { + size_t __result = 0; - - - -extern __inline __attribute__ ((__gnu_inline__)) int -putc_unlocked (int __c, FILE *__stream) -{ - return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); + while (__s[__result] == __accept1 || __s[__result] == __accept2) + ++__result; + return __result; } +extern __inline __attribute__((__gnu_inline__)) size_t __strspn_c3( + const char *__s, int __accept1, int __accept2, int __accept3); +extern __inline __attribute__((__gnu_inline__)) size_t __strspn_c3( + const char *__s, int __accept1, int __accept2, int __accept3) { + size_t __result = 0; -extern __inline __attribute__ ((__gnu_inline__)) int -putchar_unlocked (int __c) -{ - return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); -} -extern __inline __attribute__ ((__gnu_inline__)) int -__attribute__ ((__nothrow__ , __leaf__)) feof_unlocked (FILE *__stream) -{ - return (((__stream)->_flags & 0x10) != 0); + while (__s[__result] == __accept1 || __s[__result] == __accept2 || + __s[__result] == __accept3) + ++__result; + return __result; } +extern __inline + __attribute__((__gnu_inline__)) char *__strpbrk_c2(const char *__s, + int __accept1, + int __accept2); +extern __inline + __attribute__((__gnu_inline__)) char *__strpbrk_c2(const char *__s, + int __accept1, + int __accept2) { - -extern __inline __attribute__ ((__gnu_inline__)) int -__attribute__ ((__nothrow__ , __leaf__)) ferror_unlocked (FILE *__stream) -{ - return (((__stream)->_flags & 0x20) != 0); + while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) + ++__s; + return *__s == '\0' ? ((void *)0) : (char *)(size_t)__s; } +extern __inline __attribute__((__gnu_inline__)) char *__strpbrk_c3( + const char *__s, int __accept1, int __accept2, int __accept3); +extern __inline __attribute__((__gnu_inline__)) char *__strpbrk_c3( + const char *__s, int __accept1, int __accept2, int __accept3) { - -typedef unsigned char Byte; - -typedef unsigned int uInt; -typedef unsigned long uLong; - - - - - - typedef Byte Bytef; - -typedef char charf; -typedef int intf; -typedef uInt uIntf; -typedef uLong uLongf; - - - typedef void *voidpf; - typedef void *voidp; - - - - - - - - - - - - - -typedef __u_char u_char; -typedef __u_short u_short; -typedef __u_int u_int; -typedef __u_long u_long; -typedef __quad_t quad_t; -typedef __u_quad_t u_quad_t; -typedef __fsid_t fsid_t; - - - - -typedef __loff_t loff_t; - - - -typedef __ino_t ino_t; -typedef __dev_t dev_t; - - - - -typedef __gid_t gid_t; - - - - -typedef __mode_t mode_t; - - - - -typedef __nlink_t nlink_t; - - - - -typedef __uid_t uid_t; -typedef __pid_t pid_t; - - - - - -typedef __id_t id_t; -typedef __daddr_t daddr_t; -typedef __caddr_t caddr_t; - - - - - -typedef __key_t key_t; - - -typedef __clock_t clock_t; - - - - - -typedef __time_t time_t; - - - -typedef __clockid_t clockid_t; -typedef __timer_t timer_t; - - - -typedef unsigned long int ulong; -typedef unsigned short int ushort; -typedef unsigned int uint; -typedef int int8_t __attribute__ ((__mode__ (__QI__))); -typedef int int16_t __attribute__ ((__mode__ (__HI__))); -typedef int int32_t __attribute__ ((__mode__ (__SI__))); -typedef int int64_t __attribute__ ((__mode__ (__DI__))); - - -typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); -typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); -typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); -typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); - -typedef int register_t __attribute__ ((__mode__ (__word__))); - - - - - - -static __inline unsigned int -__bswap_32 (unsigned int __bsx) -{ - return __builtin_bswap32 (__bsx); + while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 && + *__s != __accept3) + ++__s; + return *__s == '\0' ? ((void *)0) : (char *)(size_t)__s; } -static __inline __uint64_t -__bswap_64 (__uint64_t __bsx) -{ - return __builtin_bswap64 (__bsx); +extern __inline + __attribute__((__gnu_inline__)) char *__strtok_r_1c(char *__s, char __sep, + char **__nextp); +extern __inline + __attribute__((__gnu_inline__)) char *__strtok_r_1c(char *__s, char __sep, + char **__nextp) { + char *__result; + if (__s == ((void *)0)) + __s = *__nextp; + while (*__s == __sep) + ++__s; + __result = ((void *)0); + if (*__s != '\0') { + __result = __s++; + while (*__s != '\0') + if (*__s++ == __sep) { + __s[-1] = '\0'; + break; + } + } + *__nextp = __s; + return __result; } - - - - -typedef int __sig_atomic_t; - - - - -typedef struct - { - unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; - } __sigset_t; - - - -typedef __sigset_t sigset_t; - - - - - -struct timespec - { - __time_t tv_sec; - __syscall_slong_t tv_nsec; - }; - -struct timeval - { - __time_t tv_sec; - __suseconds_t tv_usec; - }; - - -typedef __suseconds_t suseconds_t; - - - - - -typedef long int __fd_mask; -typedef struct - { - - - - - - - __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; - - - } fd_set; - - - - - - -typedef __fd_mask fd_mask; - -extern int select (int __nfds, fd_set *__restrict __readfds, - fd_set *__restrict __writefds, - fd_set *__restrict __exceptfds, - struct timeval *__restrict __timeout); -extern int pselect (int __nfds, fd_set *__restrict __readfds, - fd_set *__restrict __writefds, - fd_set *__restrict __exceptfds, - const struct timespec *__restrict __timeout, - const __sigset_t *__restrict __sigmask); - - - - - -__extension__ -extern unsigned int gnu_dev_major (unsigned long long int __dev) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); -__extension__ -extern unsigned int gnu_dev_minor (unsigned long long int __dev) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); -__extension__ -extern unsigned long long int gnu_dev_makedev (unsigned int __major, - unsigned int __minor) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); - - -__extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned int -__attribute__ ((__nothrow__ , __leaf__)) gnu_dev_major (unsigned long long int __dev) -{ - return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); -} - -__extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned int -__attribute__ ((__nothrow__ , __leaf__)) gnu_dev_minor (unsigned long long int __dev) -{ - return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); -} - -__extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned long long int -__attribute__ ((__nothrow__ , __leaf__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor) -{ - return ((__minor & 0xff) | ((__major & 0xfff) << 8) - | (((unsigned long long int) (__minor & ~0xff)) << 12) - | (((unsigned long long int) (__major & ~0xfff)) << 32)); -} - - - - - - - -typedef __blksize_t blksize_t; - - - - - - -typedef __blkcnt_t blkcnt_t; - - - -typedef __fsblkcnt_t fsblkcnt_t; - - - -typedef __fsfilcnt_t fsfilcnt_t; -typedef unsigned long int pthread_t; - - -union pthread_attr_t -{ - char __size[56]; - long int __align; -}; - -typedef union pthread_attr_t pthread_attr_t; - - - - - -typedef struct __pthread_internal_list -{ - struct __pthread_internal_list *__prev; - struct __pthread_internal_list *__next; -} __pthread_list_t; -typedef union -{ - struct __pthread_mutex_s - { - int __lock; - unsigned int __count; - int __owner; - - unsigned int __nusers; - - - - int __kind; - - short __spins; - short __elision; - __pthread_list_t __list; - } __data; - char __size[40]; - long int __align; -} pthread_mutex_t; - -typedef union -{ - char __size[4]; - int __align; -} pthread_mutexattr_t; - - - - -typedef union -{ - struct - { - int __lock; - unsigned int __futex; - __extension__ unsigned long long int __total_seq; - __extension__ unsigned long long int __wakeup_seq; - __extension__ unsigned long long int __woken_seq; - void *__mutex; - unsigned int __nwaiters; - unsigned int __broadcast_seq; - } __data; - char __size[48]; - __extension__ long long int __align; -} pthread_cond_t; - -typedef union -{ - char __size[4]; - int __align; -} pthread_condattr_t; - - - -typedef unsigned int pthread_key_t; - - - -typedef int pthread_once_t; - - - - - -typedef union -{ - - struct - { - int __lock; - unsigned int __nr_readers; - unsigned int __readers_wakeup; - unsigned int __writer_wakeup; - unsigned int __nr_readers_queued; - unsigned int __nr_writers_queued; - int __writer; - int __shared; - unsigned long int __pad1; - unsigned long int __pad2; - - - unsigned int __flags; - - } __data; - char __size[56]; - long int __align; -} pthread_rwlock_t; - -typedef union -{ - char __size[8]; - long int __align; -} pthread_rwlockattr_t; - - - - - -typedef volatile int pthread_spinlock_t; - - - - -typedef union -{ - char __size[32]; - long int __align; -} pthread_barrier_t; - -typedef union -{ - char __size[4]; - int __align; -} pthread_barrierattr_t; - - - - - - - -typedef __useconds_t useconds_t; -typedef __intptr_t intptr_t; - - - - - - -typedef __socklen_t socklen_t; -extern int access (const char *__name, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); -extern int faccessat (int __fd, const char *__file, int __type, int __flag) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) ; -extern __off_t lseek (int __fd, __off_t __offset, int __whence) __attribute__ ((__nothrow__ , __leaf__)); -extern int close (int __fd); - - - - - - -extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ; - - - - - -extern ssize_t write (int __fd, const void *__buf, size_t __n) ; -extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, - __off_t __offset) ; - - - - - - -extern ssize_t pwrite (int __fd, const void *__buf, size_t __n, - __off_t __offset) ; -extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__ , __leaf__)) ; -extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__ , __leaf__)); -extern unsigned int sleep (unsigned int __seconds); - - - - - - - -extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) - __attribute__ ((__nothrow__ , __leaf__)); - - - - - - -extern int usleep (__useconds_t __useconds); -extern int pause (void); - - - -extern int chown (const char *__file, __uid_t __owner, __gid_t __group) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; - - - -extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ , __leaf__)) ; - - - - -extern int lchown (const char *__file, __uid_t __owner, __gid_t __group) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; - - - - - - -extern int fchownat (int __fd, const char *__file, __uid_t __owner, - __gid_t __group, int __flag) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) ; - - - -extern int chdir (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; - - - -extern int fchdir (int __fd) __attribute__ ((__nothrow__ , __leaf__)) ; -extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) ; -extern char *getwd (char *__buf) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ; - - - - -extern int dup (int __fd) __attribute__ ((__nothrow__ , __leaf__)) ; - - -extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__ , __leaf__)); -extern char **__environ; - - - - - - - -extern int execve (const char *__path, char *const __argv[], - char *const __envp[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - - - -extern int fexecve (int __fd, char *const __argv[], char *const __envp[]) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); - - - - -extern int execv (const char *__path, char *const __argv[]) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - - -extern int execle (const char *__path, const char *__arg, ...) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - - -extern int execl (const char *__path, const char *__arg, ...) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - - -extern int execvp (const char *__file, char *const __argv[]) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - - - -extern int execlp (const char *__file, const char *__arg, ...) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); -extern int nice (int __inc) __attribute__ ((__nothrow__ , __leaf__)) ; - - - - -extern void _exit (int __status) __attribute__ ((__noreturn__)); - - - - - -enum - { - _PC_LINK_MAX, - - _PC_MAX_CANON, - - _PC_MAX_INPUT, - - _PC_NAME_MAX, - - _PC_PATH_MAX, - - _PC_PIPE_BUF, - - _PC_CHOWN_RESTRICTED, - - _PC_NO_TRUNC, - - _PC_VDISABLE, - - _PC_SYNC_IO, - - _PC_ASYNC_IO, - - _PC_PRIO_IO, - - _PC_SOCK_MAXBUF, - - _PC_FILESIZEBITS, - - _PC_REC_INCR_XFER_SIZE, - - _PC_REC_MAX_XFER_SIZE, - - _PC_REC_MIN_XFER_SIZE, - - _PC_REC_XFER_ALIGN, - - _PC_ALLOC_SIZE_MIN, - - _PC_SYMLINK_MAX, - - _PC_2_SYMLINKS - - }; - - -enum - { - _SC_ARG_MAX, - - _SC_CHILD_MAX, - - _SC_CLK_TCK, - - _SC_NGROUPS_MAX, - - _SC_OPEN_MAX, - - _SC_STREAM_MAX, - - _SC_TZNAME_MAX, - - _SC_JOB_CONTROL, - - _SC_SAVED_IDS, - - _SC_REALTIME_SIGNALS, - - _SC_PRIORITY_SCHEDULING, - - _SC_TIMERS, - - _SC_ASYNCHRONOUS_IO, - - _SC_PRIORITIZED_IO, - - _SC_SYNCHRONIZED_IO, - - _SC_FSYNC, - - _SC_MAPPED_FILES, - - _SC_MEMLOCK, - - _SC_MEMLOCK_RANGE, - - _SC_MEMORY_PROTECTION, - - _SC_MESSAGE_PASSING, - - _SC_SEMAPHORES, - - _SC_SHARED_MEMORY_OBJECTS, - - _SC_AIO_LISTIO_MAX, - - _SC_AIO_MAX, - - _SC_AIO_PRIO_DELTA_MAX, - - _SC_DELAYTIMER_MAX, - - _SC_MQ_OPEN_MAX, - - _SC_MQ_PRIO_MAX, - - _SC_VERSION, - - _SC_PAGESIZE, - - - _SC_RTSIG_MAX, - - _SC_SEM_NSEMS_MAX, - - _SC_SEM_VALUE_MAX, - - _SC_SIGQUEUE_MAX, - - _SC_TIMER_MAX, - - - - - _SC_BC_BASE_MAX, - - _SC_BC_DIM_MAX, - - _SC_BC_SCALE_MAX, - - _SC_BC_STRING_MAX, - - _SC_COLL_WEIGHTS_MAX, - - _SC_EQUIV_CLASS_MAX, - - _SC_EXPR_NEST_MAX, - - _SC_LINE_MAX, - - _SC_RE_DUP_MAX, - - _SC_CHARCLASS_NAME_MAX, - - - _SC_2_VERSION, - - _SC_2_C_BIND, - - _SC_2_C_DEV, - - _SC_2_FORT_DEV, - - _SC_2_FORT_RUN, - - _SC_2_SW_DEV, - - _SC_2_LOCALEDEF, - - - _SC_PII, - - _SC_PII_XTI, - - _SC_PII_SOCKET, - - _SC_PII_INTERNET, - - _SC_PII_OSI, - - _SC_POLL, - - _SC_SELECT, - - _SC_UIO_MAXIOV, - - _SC_IOV_MAX = _SC_UIO_MAXIOV, - - _SC_PII_INTERNET_STREAM, - - _SC_PII_INTERNET_DGRAM, - - _SC_PII_OSI_COTS, - - _SC_PII_OSI_CLTS, - - _SC_PII_OSI_M, - - _SC_T_IOV_MAX, - - - - _SC_THREADS, - - _SC_THREAD_SAFE_FUNCTIONS, - - _SC_GETGR_R_SIZE_MAX, - - _SC_GETPW_R_SIZE_MAX, - - _SC_LOGIN_NAME_MAX, - - _SC_TTY_NAME_MAX, - - _SC_THREAD_DESTRUCTOR_ITERATIONS, - - _SC_THREAD_KEYS_MAX, - - _SC_THREAD_STACK_MIN, - - _SC_THREAD_THREADS_MAX, - - _SC_THREAD_ATTR_STACKADDR, - - _SC_THREAD_ATTR_STACKSIZE, - - _SC_THREAD_PRIORITY_SCHEDULING, - - _SC_THREAD_PRIO_INHERIT, - - _SC_THREAD_PRIO_PROTECT, - - _SC_THREAD_PROCESS_SHARED, - - - _SC_NPROCESSORS_CONF, - - _SC_NPROCESSORS_ONLN, - - _SC_PHYS_PAGES, - - _SC_AVPHYS_PAGES, - - _SC_ATEXIT_MAX, - - _SC_PASS_MAX, - - - _SC_XOPEN_VERSION, - - _SC_XOPEN_XCU_VERSION, - - _SC_XOPEN_UNIX, - - _SC_XOPEN_CRYPT, - - _SC_XOPEN_ENH_I18N, - - _SC_XOPEN_SHM, - - - _SC_2_CHAR_TERM, - - _SC_2_C_VERSION, - - _SC_2_UPE, - - - _SC_XOPEN_XPG2, - - _SC_XOPEN_XPG3, - - _SC_XOPEN_XPG4, - - - _SC_CHAR_BIT, - - _SC_CHAR_MAX, - - _SC_CHAR_MIN, - - _SC_INT_MAX, - - _SC_INT_MIN, - - _SC_LONG_BIT, - - _SC_WORD_BIT, - - _SC_MB_LEN_MAX, - - _SC_NZERO, - - _SC_SSIZE_MAX, - - _SC_SCHAR_MAX, - - _SC_SCHAR_MIN, - - _SC_SHRT_MAX, - - _SC_SHRT_MIN, - - _SC_UCHAR_MAX, - - _SC_UINT_MAX, - - _SC_ULONG_MAX, - - _SC_USHRT_MAX, - - - _SC_NL_ARGMAX, - - _SC_NL_LANGMAX, - - _SC_NL_MSGMAX, - - _SC_NL_NMAX, - - _SC_NL_SETMAX, - - _SC_NL_TEXTMAX, - - - _SC_XBS5_ILP32_OFF32, - - _SC_XBS5_ILP32_OFFBIG, - - _SC_XBS5_LP64_OFF64, - - _SC_XBS5_LPBIG_OFFBIG, - - - _SC_XOPEN_LEGACY, - - _SC_XOPEN_REALTIME, - - _SC_XOPEN_REALTIME_THREADS, - - - _SC_ADVISORY_INFO, - - _SC_BARRIERS, - - _SC_BASE, - - _SC_C_LANG_SUPPORT, - - _SC_C_LANG_SUPPORT_R, - - _SC_CLOCK_SELECTION, - - _SC_CPUTIME, - - _SC_THREAD_CPUTIME, - - _SC_DEVICE_IO, - - _SC_DEVICE_SPECIFIC, - - _SC_DEVICE_SPECIFIC_R, - - _SC_FD_MGMT, - - _SC_FIFO, - - _SC_PIPE, - - _SC_FILE_ATTRIBUTES, - - _SC_FILE_LOCKING, - - _SC_FILE_SYSTEM, - - _SC_MONOTONIC_CLOCK, - - _SC_MULTI_PROCESS, - - _SC_SINGLE_PROCESS, - - _SC_NETWORKING, - - _SC_READER_WRITER_LOCKS, - - _SC_SPIN_LOCKS, - - _SC_REGEXP, - - _SC_REGEX_VERSION, - - _SC_SHELL, - - _SC_SIGNALS, - - _SC_SPAWN, - - _SC_SPORADIC_SERVER, - - _SC_THREAD_SPORADIC_SERVER, - - _SC_SYSTEM_DATABASE, - - _SC_SYSTEM_DATABASE_R, - - _SC_TIMEOUTS, - - _SC_TYPED_MEMORY_OBJECTS, - - _SC_USER_GROUPS, - - _SC_USER_GROUPS_R, - - _SC_2_PBS, - - _SC_2_PBS_ACCOUNTING, - - _SC_2_PBS_LOCATE, - - _SC_2_PBS_MESSAGE, - - _SC_2_PBS_TRACK, - - _SC_SYMLOOP_MAX, - - _SC_STREAMS, - - _SC_2_PBS_CHECKPOINT, - - - _SC_V6_ILP32_OFF32, - - _SC_V6_ILP32_OFFBIG, - - _SC_V6_LP64_OFF64, - - _SC_V6_LPBIG_OFFBIG, - - - _SC_HOST_NAME_MAX, - - _SC_TRACE, - - _SC_TRACE_EVENT_FILTER, - - _SC_TRACE_INHERIT, - - _SC_TRACE_LOG, - - - _SC_LEVEL1_ICACHE_SIZE, - - _SC_LEVEL1_ICACHE_ASSOC, - - _SC_LEVEL1_ICACHE_LINESIZE, - - _SC_LEVEL1_DCACHE_SIZE, - - _SC_LEVEL1_DCACHE_ASSOC, - - _SC_LEVEL1_DCACHE_LINESIZE, - - _SC_LEVEL2_CACHE_SIZE, - - _SC_LEVEL2_CACHE_ASSOC, - - _SC_LEVEL2_CACHE_LINESIZE, - - _SC_LEVEL3_CACHE_SIZE, - - _SC_LEVEL3_CACHE_ASSOC, - - _SC_LEVEL3_CACHE_LINESIZE, - - _SC_LEVEL4_CACHE_SIZE, - - _SC_LEVEL4_CACHE_ASSOC, - - _SC_LEVEL4_CACHE_LINESIZE, - - - - _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, - - _SC_RAW_SOCKETS, - - - _SC_V7_ILP32_OFF32, - - _SC_V7_ILP32_OFFBIG, - - _SC_V7_LP64_OFF64, - - _SC_V7_LPBIG_OFFBIG, - - - _SC_SS_REPL_MAX, - - - _SC_TRACE_EVENT_NAME_MAX, - - _SC_TRACE_NAME_MAX, - - _SC_TRACE_SYS_MAX, - - _SC_TRACE_USER_EVENT_MAX, - - - _SC_XOPEN_STREAMS, - - - _SC_THREAD_ROBUST_PRIO_INHERIT, - - _SC_THREAD_ROBUST_PRIO_PROTECT - - }; - - -enum - { - _CS_PATH, - - - _CS_V6_WIDTH_RESTRICTED_ENVS, - - - - _CS_GNU_LIBC_VERSION, - - _CS_GNU_LIBPTHREAD_VERSION, - - - _CS_V5_WIDTH_RESTRICTED_ENVS, - - - - _CS_V7_WIDTH_RESTRICTED_ENVS, - - - - _CS_LFS_CFLAGS = 1000, - - _CS_LFS_LDFLAGS, - - _CS_LFS_LIBS, - - _CS_LFS_LINTFLAGS, - - _CS_LFS64_CFLAGS, - - _CS_LFS64_LDFLAGS, - - _CS_LFS64_LIBS, - - _CS_LFS64_LINTFLAGS, - - - _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, - - _CS_XBS5_ILP32_OFF32_LDFLAGS, - - _CS_XBS5_ILP32_OFF32_LIBS, - - _CS_XBS5_ILP32_OFF32_LINTFLAGS, - - _CS_XBS5_ILP32_OFFBIG_CFLAGS, - - _CS_XBS5_ILP32_OFFBIG_LDFLAGS, - - _CS_XBS5_ILP32_OFFBIG_LIBS, - - _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, - - _CS_XBS5_LP64_OFF64_CFLAGS, - - _CS_XBS5_LP64_OFF64_LDFLAGS, - - _CS_XBS5_LP64_OFF64_LIBS, - - _CS_XBS5_LP64_OFF64_LINTFLAGS, - - _CS_XBS5_LPBIG_OFFBIG_CFLAGS, - - _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, - - _CS_XBS5_LPBIG_OFFBIG_LIBS, - - _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, - - - _CS_POSIX_V6_ILP32_OFF32_CFLAGS, - - _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, - - _CS_POSIX_V6_ILP32_OFF32_LIBS, - - _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, - - _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, - - _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, - - _CS_POSIX_V6_ILP32_OFFBIG_LIBS, - - _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, - - _CS_POSIX_V6_LP64_OFF64_CFLAGS, - - _CS_POSIX_V6_LP64_OFF64_LDFLAGS, - - _CS_POSIX_V6_LP64_OFF64_LIBS, - - _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, - - _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, - - _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, - - _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, - - _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, - - - _CS_POSIX_V7_ILP32_OFF32_CFLAGS, - - _CS_POSIX_V7_ILP32_OFF32_LDFLAGS, - - _CS_POSIX_V7_ILP32_OFF32_LIBS, - - _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS, - - _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS, - - _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS, - - _CS_POSIX_V7_ILP32_OFFBIG_LIBS, - - _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS, - - _CS_POSIX_V7_LP64_OFF64_CFLAGS, - - _CS_POSIX_V7_LP64_OFF64_LDFLAGS, - - _CS_POSIX_V7_LP64_OFF64_LIBS, - - _CS_POSIX_V7_LP64_OFF64_LINTFLAGS, - - _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS, - - _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, - - _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, - - _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS, - - - _CS_V6_ENV, - - _CS_V7_ENV - - }; - - -extern long int pathconf (const char *__path, int __name) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - -extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__ , __leaf__)); - - -extern long int sysconf (int __name) __attribute__ ((__nothrow__ , __leaf__)); - - - -extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)); - - - - -extern __pid_t getpid (void) __attribute__ ((__nothrow__ , __leaf__)); - - -extern __pid_t getppid (void) __attribute__ ((__nothrow__ , __leaf__)); - - - - -extern __pid_t getpgrp (void) __attribute__ ((__nothrow__ , __leaf__)); -extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); - -extern __pid_t getpgid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); - - - - - - -extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__ , __leaf__)); -extern int setpgrp (void) __attribute__ ((__nothrow__ , __leaf__)); -extern __pid_t setsid (void) __attribute__ ((__nothrow__ , __leaf__)); - - - -extern __pid_t getsid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); - - - -extern __uid_t getuid (void) __attribute__ ((__nothrow__ , __leaf__)); - - -extern __uid_t geteuid (void) __attribute__ ((__nothrow__ , __leaf__)); - - -extern __gid_t getgid (void) __attribute__ ((__nothrow__ , __leaf__)); - - -extern __gid_t getegid (void) __attribute__ ((__nothrow__ , __leaf__)); - - - - -extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__ , __leaf__)) ; -extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__ , __leaf__)) ; - - - - -extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__ , __leaf__)) ; - - - - -extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__ , __leaf__)) ; - - - - - - -extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__)) ; - - - - -extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__ , __leaf__)) ; - - - - -extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__)) ; -extern __pid_t fork (void) __attribute__ ((__nothrow__)); - - - - - - - -extern __pid_t vfork (void) __attribute__ ((__nothrow__ , __leaf__)); - - - - - -extern char *ttyname (int __fd) __attribute__ ((__nothrow__ , __leaf__)); - - - -extern int ttyname_r (int __fd, char *__buf, size_t __buflen) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) ; - - - -extern int isatty (int __fd) __attribute__ ((__nothrow__ , __leaf__)); - - - - - -extern int ttyslot (void) __attribute__ ((__nothrow__ , __leaf__)); - - - - -extern int link (const char *__from, const char *__to) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) ; - - - - -extern int linkat (int __fromfd, const char *__from, int __tofd, - const char *__to, int __flags) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) ; - - - - -extern int symlink (const char *__from, const char *__to) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) ; - - - - -extern ssize_t readlink (const char *__restrict __path, - char *__restrict __buf, size_t __len) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) ; - - - - -extern int symlinkat (const char *__from, int __tofd, - const char *__to) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))) ; - - -extern ssize_t readlinkat (int __fd, const char *__restrict __path, - char *__restrict __buf, size_t __len) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))) ; - - - -extern int unlink (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - - -extern int unlinkat (int __fd, const char *__name, int __flag) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); - - - -extern int rmdir (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - - -extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__ , __leaf__)); - - -extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__ , __leaf__)); - - - - - - -extern char *getlogin (void); - - - - - - - -extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))); - - - - -extern int setlogin (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); -extern char *optarg; -extern int optind; - - - - -extern int opterr; - - - -extern int optopt; -extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) - __attribute__ ((__nothrow__ , __leaf__)); - - - - - - - -extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - - - - - -extern int sethostname (const char *__name, size_t __len) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; - - - -extern int sethostid (long int __id) __attribute__ ((__nothrow__ , __leaf__)) ; - - - - - -extern int getdomainname (char *__name, size_t __len) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; -extern int setdomainname (const char *__name, size_t __len) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; - - - - - -extern int vhangup (void) __attribute__ ((__nothrow__ , __leaf__)); - - -extern int revoke (const char *__file) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; - - - - - - - -extern int profil (unsigned short int *__sample_buffer, size_t __size, - size_t __offset, unsigned int __scale) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - - - - -extern int acct (const char *__name) __attribute__ ((__nothrow__ , __leaf__)); - - - -extern char *getusershell (void) __attribute__ ((__nothrow__ , __leaf__)); -extern void endusershell (void) __attribute__ ((__nothrow__ , __leaf__)); -extern void setusershell (void) __attribute__ ((__nothrow__ , __leaf__)); - - - - - -extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__ , __leaf__)) ; - - - - - - -extern int chroot (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; - - - -extern char *getpass (const char *__prompt) __attribute__ ((__nonnull__ (1))); - - - - - - - -extern int fsync (int __fd); -extern long int gethostid (void); - - -extern void sync (void) __attribute__ ((__nothrow__ , __leaf__)); - - - - - -extern int getpagesize (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); - - - - -extern int getdtablesize (void) __attribute__ ((__nothrow__ , __leaf__)); -extern int truncate (const char *__file, __off_t __length) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; -extern int ftruncate (int __fd, __off_t __length) __attribute__ ((__nothrow__ , __leaf__)) ; -extern int brk (void *__addr) __attribute__ ((__nothrow__ , __leaf__)) ; - - - - - -extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__ , __leaf__)); -extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__ , __leaf__)); -extern int lockf (int __fd, int __cmd, __off_t __len) ; -extern int fdatasync (int __fildes); - - -typedef voidpf (*alloc_func) (voidpf opaque, uInt items, uInt size); -typedef void (*free_func) (voidpf opaque, voidpf address); - -struct internal_state; - -typedef struct z_stream_s { - Bytef *next_in; - uInt avail_in; - uLong total_in; - - Bytef *next_out; - uInt avail_out; - uLong total_out; - - char *msg; - struct internal_state *state; - - alloc_func zalloc; - free_func zfree; - voidpf opaque; - - int data_type; - uLong adler; - uLong reserved; -} z_stream; - -typedef z_stream *z_streamp; -extern const char * zlibVersion (void); -extern int deflate (z_streamp strm, int flush); -extern int deflateEnd (z_streamp strm); -extern int inflate (z_streamp strm, int flush); -extern int inflateEnd (z_streamp strm); -extern int deflateSetDictionary (z_streamp strm, const Bytef *dictionary, uInt dictLength) - - ; -extern int deflateCopy (z_streamp dest, z_streamp source) - ; -extern int deflateReset (z_streamp strm); -extern int deflateParams (z_streamp strm, int level, int strategy) - - ; -extern int inflateSetDictionary (z_streamp strm, const Bytef *dictionary, uInt dictLength) - - ; -extern int inflateSync (z_streamp strm); -extern int inflateReset (z_streamp strm); -extern int compress (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen) - ; -extern int compress2 (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen, int level) - - ; -extern int uncompress (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen) - ; -typedef voidp gzFile; - -extern gzFile gzopen (const char *path, const char *mode); -extern gzFile gzdopen (int fd, const char *mode); -extern int gzsetparams (gzFile file, int level, int strategy); - - - - - - - -extern int gzread (gzFile file, voidp buf, unsigned len); - - - - - - - -extern int gzwrite (gzFile file, const voidp buf, unsigned len) - ; - - - - - - -extern int gzprintf (gzFile file, const char *format, ...); - - - - - - -extern int gzputs (gzFile file, const char *s); - - - - - - -extern char * gzgets (gzFile file, char *buf, int len); -extern int gzputc (gzFile file, int c); - - - - - -extern int gzgetc (gzFile file); - - - - - -extern int gzflush (gzFile file, int flush); -extern off_t gzseek (gzFile file, off_t offset, int whence) - ; -extern int gzrewind (gzFile file); - - - - - - -extern off_t gztell (gzFile file); -extern int gzeof (gzFile file); - - - - - -extern int gzclose (gzFile file); - - - - - - -extern const char * gzerror (gzFile file, int *errnum); -extern uLong adler32 (uLong adler, const Bytef *buf, uInt len); -extern uLong crc32 (uLong crc, const Bytef *buf, uInt len); -extern int deflateInit_ (z_streamp strm, int level, const char *version, int stream_size) - ; -extern int inflateInit_ (z_streamp strm, const char *version, int stream_size) - ; -extern int deflateInit2_ (z_streamp strm, int level, int method, int windowBits, int memLevel, int strategy, const char *version, int stream_size) - - - ; -extern int inflateInit2_ (z_streamp strm, int windowBits, const char *version, int stream_size) - ; -extern const char * zError (int err); -extern int inflateSyncPoint (z_streamp z); -extern const uLongf * get_crc_table (void); - - - -typedef long int ptrdiff_t; -typedef int wchar_t; -typedef struct { - long long __max_align_ll __attribute__((__aligned__(__alignof__(long long)))); - long double __max_align_ld __attribute__((__aligned__(__alignof__(long double)))); -} max_align_t; - - - - - - - - - - - - - - -extern void *memcpy (void *__restrict __dest, const void *__restrict __src, - size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - -extern void *memmove (void *__dest, const void *__src, size_t __n) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - - - - - -extern void *memccpy (void *__restrict __dest, const void *__restrict __src, - int __c, size_t __n) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - - - - -extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - -extern int memcmp (const void *__s1, const void *__s2, size_t __n) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); -extern void *memchr (const void *__s, int __c, size_t __n) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); - - - - -extern char *strcpy (char *__restrict __dest, const char *__restrict __src) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - -extern char *strncpy (char *__restrict __dest, - const char *__restrict __src, size_t __n) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - -extern char *strcat (char *__restrict __dest, const char *__restrict __src) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - -extern char *strncat (char *__restrict __dest, const char *__restrict __src, - size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - -extern int strcmp (const char *__s1, const char *__s2) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); - -extern int strncmp (const char *__s1, const char *__s2, size_t __n) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); - - -extern int strcoll (const char *__s1, const char *__s2) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); - -extern size_t strxfrm (char *__restrict __dest, - const char *__restrict __src, size_t __n) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); - - - - - - -typedef struct __locale_struct -{ - - struct __locale_data *__locales[13]; - - - const unsigned short int *__ctype_b; - const int *__ctype_tolower; - const int *__ctype_toupper; - - - const char *__names[13]; -} *__locale_t; - - -typedef __locale_t locale_t; - - -extern int strcoll_l (const char *__s1, const char *__s2, __locale_t __l) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); - -extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, - __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); - - - - - -extern char *strdup (const char *__s) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); - - - - - - -extern char *strndup (const char *__string, size_t __n) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); - -extern char *strchr (const char *__s, int __c) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); -extern char *strrchr (const char *__s, int __c) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); - - - - - -extern size_t strcspn (const char *__s, const char *__reject) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); - - -extern size_t strspn (const char *__s, const char *__accept) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); -extern char *strpbrk (const char *__s, const char *__accept) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); -extern char *strstr (const char *__haystack, const char *__needle) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); - - - - -extern char *strtok (char *__restrict __s, const char *__restrict __delim) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); - - - - -extern char *__strtok_r (char *__restrict __s, - const char *__restrict __delim, - char **__restrict __save_ptr) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); - -extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, - char **__restrict __save_ptr) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); - - -extern size_t strlen (const char *__s) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); - - - - - -extern size_t strnlen (const char *__string, size_t __maxlen) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); - - - - - -extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); - -extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) - - __attribute__ ((__nonnull__ (2))); -extern char *strerror_l (int __errnum, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); - - - - - -extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - - -extern void bcopy (const void *__src, void *__dest, size_t __n) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - -extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - -extern int bcmp (const void *__s1, const void *__s2, size_t __n) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); -extern char *index (const char *__s, int __c) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); -extern char *rindex (const char *__s, int __c) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); - - - - -extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); -extern int strcasecmp (const char *__s1, const char *__s2) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); - - -extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); -extern char *strsep (char **__restrict __stringp, - const char *__restrict __delim) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - - - -extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); - - -extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); -extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - - -extern char *__stpncpy (char *__restrict __dest, - const char *__restrict __src, size_t __n) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); -extern char *stpncpy (char *__restrict __dest, - const char *__restrict __src, size_t __n) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - -extern void *__rawmemchr (const void *__s, int __c); -extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c1 (const char *__s, int __reject); -extern __inline __attribute__ ((__gnu_inline__)) size_t -__strcspn_c1 (const char *__s, int __reject) -{ - size_t __result = 0; - while (__s[__result] != '\0' && __s[__result] != __reject) - ++__result; - return __result; -} - -extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c2 (const char *__s, int __reject1, - int __reject2); -extern __inline __attribute__ ((__gnu_inline__)) size_t -__strcspn_c2 (const char *__s, int __reject1, int __reject2) -{ - size_t __result = 0; - while (__s[__result] != '\0' && __s[__result] != __reject1 - && __s[__result] != __reject2) - ++__result; - return __result; -} - -extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c3 (const char *__s, int __reject1, - int __reject2, int __reject3); -extern __inline __attribute__ ((__gnu_inline__)) size_t -__strcspn_c3 (const char *__s, int __reject1, int __reject2, - int __reject3) -{ - size_t __result = 0; - while (__s[__result] != '\0' && __s[__result] != __reject1 - && __s[__result] != __reject2 && __s[__result] != __reject3) - ++__result; - return __result; -} -extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c1 (const char *__s, int __accept); -extern __inline __attribute__ ((__gnu_inline__)) size_t -__strspn_c1 (const char *__s, int __accept) -{ - size_t __result = 0; - - while (__s[__result] == __accept) - ++__result; - return __result; -} - -extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c2 (const char *__s, int __accept1, - int __accept2); -extern __inline __attribute__ ((__gnu_inline__)) size_t -__strspn_c2 (const char *__s, int __accept1, int __accept2) -{ - size_t __result = 0; - - while (__s[__result] == __accept1 || __s[__result] == __accept2) - ++__result; - return __result; -} - -extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c3 (const char *__s, int __accept1, - int __accept2, int __accept3); -extern __inline __attribute__ ((__gnu_inline__)) size_t -__strspn_c3 (const char *__s, int __accept1, int __accept2, int __accept3) -{ - size_t __result = 0; - - while (__s[__result] == __accept1 || __s[__result] == __accept2 - || __s[__result] == __accept3) - ++__result; - return __result; -} -extern __inline __attribute__ ((__gnu_inline__)) char *__strpbrk_c2 (const char *__s, int __accept1, - int __accept2); -extern __inline __attribute__ ((__gnu_inline__)) char * -__strpbrk_c2 (const char *__s, int __accept1, int __accept2) -{ - - while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) - ++__s; - return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; -} - -extern __inline __attribute__ ((__gnu_inline__)) char *__strpbrk_c3 (const char *__s, int __accept1, - int __accept2, int __accept3); -extern __inline __attribute__ ((__gnu_inline__)) char * -__strpbrk_c3 (const char *__s, int __accept1, int __accept2, int __accept3) -{ - - while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 - && *__s != __accept3) - ++__s; - return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; -} -extern __inline __attribute__ ((__gnu_inline__)) char *__strtok_r_1c (char *__s, char __sep, char **__nextp); -extern __inline __attribute__ ((__gnu_inline__)) char * -__strtok_r_1c (char *__s, char __sep, char **__nextp) -{ - char *__result; - if (__s == ((void *)0)) - __s = *__nextp; - while (*__s == __sep) - ++__s; - __result = ((void *)0); - if (*__s != '\0') - { - __result = __s++; - while (*__s != '\0') - if (*__s++ == __sep) - { - __s[-1] = '\0'; - break; - } - } - *__nextp = __s; - return __result; -} -extern char *__strsep_g (char **__stringp, const char *__delim); -extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_1c (char **__s, char __reject); -extern __inline __attribute__ ((__gnu_inline__)) char * -__strsep_1c (char **__s, char __reject) -{ - char *__retval = *__s; - if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0)) - *(*__s)++ = '\0'; - return __retval; -} - -extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_2c (char **__s, char __reject1, char __reject2); -extern __inline __attribute__ ((__gnu_inline__)) char * -__strsep_2c (char **__s, char __reject1, char __reject2) -{ - char *__retval = *__s; - if (__retval != ((void *)0)) - { - char *__cp = __retval; - while (1) - { - if (*__cp == '\0') - { - __cp = ((void *)0); - break; - } - if (*__cp == __reject1 || *__cp == __reject2) - { - *__cp++ = '\0'; - break; - } - ++__cp; - } - *__s = __cp; - } - return __retval; -} - -extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_3c (char **__s, char __reject1, char __reject2, - char __reject3); -extern __inline __attribute__ ((__gnu_inline__)) char * -__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) -{ - char *__retval = *__s; - if (__retval != ((void *)0)) - { - char *__cp = __retval; - while (1) - { - if (*__cp == '\0') - { - __cp = ((void *)0); - break; - } - if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) - { - *__cp++ = '\0'; - break; - } - ++__cp; - } - *__s = __cp; - } - return __retval; -} - - - - -extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) ; - -extern void *calloc (size_t __nmemb, size_t __size) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) ; - - - - - - -extern char *__strdup (const char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)); -extern char *__strndup (const char *__string, size_t __n) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)); - - - - - - - - - -union wait - { - int w_status; - struct - { - - unsigned int __w_termsig:7; - unsigned int __w_coredump:1; - unsigned int __w_retcode:8; - unsigned int:16; - - - - - - - - } __wait_terminated; - struct - { - - unsigned int __w_stopval:8; - unsigned int __w_stopsig:8; - unsigned int:16; - - - - - - - } __wait_stopped; - }; -typedef union - { - union wait *__uptr; - int *__iptr; - } __WAIT_STATUS __attribute__ ((__transparent_union__)); - - -typedef struct - { - int quot; - int rem; - } div_t; - - - -typedef struct - { - long int quot; - long int rem; - } ldiv_t; - - - - - - - -__extension__ typedef struct - { - long long int quot; - long long int rem; - } lldiv_t; - - -extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) ; - - - - -extern double atof (const char *__nptr) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - -extern int atoi (const char *__nptr) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - -extern long int atol (const char *__nptr) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - - - - - -__extension__ extern long long int atoll (const char *__nptr) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - - - - - -extern double strtod (const char *__restrict __nptr, - char **__restrict __endptr) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - - - - -extern float strtof (const char *__restrict __nptr, - char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - -extern long double strtold (const char *__restrict __nptr, - char **__restrict __endptr) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - - - - -extern long int strtol (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - -extern unsigned long int strtoul (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - - - -__extension__ -extern long long int strtoq (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - -__extension__ -extern unsigned long long int strtouq (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - - - - -__extension__ -extern long long int strtoll (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - -__extension__ -extern unsigned long long int strtoull (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - -extern __inline __attribute__ ((__gnu_inline__)) int -__attribute__ ((__nothrow__ , __leaf__)) atoi (const char *__nptr) -{ - return (int) strtol (__nptr, (char **) ((void *)0), 10); -} -extern __inline __attribute__ ((__gnu_inline__)) long int -__attribute__ ((__nothrow__ , __leaf__)) atol (const char *__nptr) -{ - return strtol (__nptr, (char **) ((void *)0), 10); -} - - - - -__extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int -__attribute__ ((__nothrow__ , __leaf__)) atoll (const char *__nptr) -{ - return strtoll (__nptr, (char **) ((void *)0), 10); -} - -extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) ; - - -extern long int a64l (const char *__s) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; -extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); - - -extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); - - - - - -extern char *initstate (unsigned int __seed, char *__statebuf, - size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); - - - -extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - - - - - - -struct random_data - { - int32_t *fptr; - int32_t *rptr; - int32_t *state; - int rand_type; - int rand_deg; - int rand_sep; - int32_t *end_ptr; - }; - -extern int random_r (struct random_data *__restrict __buf, - int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - -extern int srandom_r (unsigned int __seed, struct random_data *__buf) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); - -extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, - size_t __statelen, - struct random_data *__restrict __buf) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); - -extern int setstate_r (char *__restrict __statebuf, - struct random_data *__restrict __buf) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - - - - - -extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); - -extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); - - - - -extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); - - - - - - - -extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); -extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - -extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); -extern long int nrand48 (unsigned short int __xsubi[3]) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - -extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); -extern long int jrand48 (unsigned short int __xsubi[3]) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - -extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); -extern unsigned short int *seed48 (unsigned short int __seed16v[3]) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); -extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - - - - -struct drand48_data - { - unsigned short int __x[3]; - unsigned short int __old_x[3]; - unsigned short int __c; - unsigned short int __init; - __extension__ unsigned long long int __a; - - }; - - -extern int drand48_r (struct drand48_data *__restrict __buffer, - double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); -extern int erand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - -extern int lrand48_r (struct drand48_data *__restrict __buffer, - long int *__restrict __result) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); -extern int nrand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - long int *__restrict __result) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - -extern int mrand48_r (struct drand48_data *__restrict __buffer, - long int *__restrict __result) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); -extern int jrand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - long int *__restrict __result) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - -extern int srand48_r (long int __seedval, struct drand48_data *__buffer) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); - -extern int seed48_r (unsigned short int __seed16v[3], - struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - -extern int lcong48_r (unsigned short int __param[7], - struct drand48_data *__buffer) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); - - - - - - -extern void *realloc (void *__ptr, size_t __size) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); - -extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); - - - - -extern void cfree (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); - - - - - - - - - - -extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); - - - - - - - - - - - -extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) ; - - - - -extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; - - - - -extern void *aligned_alloc (size_t __alignment, size_t __size) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (2))) ; - - - - -extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); - - - -extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - - - - - - -extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - - - - - - -extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - - - - - -extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); - - - - - -extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); - - - - - - - -extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); - - - - - - -extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; - -extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - - - - -extern int setenv (const char *__name, const char *__value, int __replace) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); - - -extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); - - - - - - -extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); -extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); -extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; -extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; -extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; - - - - - -extern int system (const char *__command) ; - -extern char *realpath (const char *__restrict __name, - char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) ; - - - - - - -typedef int (*__compar_fn_t) (const void *, const void *); - - - -extern void *bsearch (const void *__key, const void *__base, - size_t __nmemb, size_t __size, __compar_fn_t __compar) - __attribute__ ((__nonnull__ (1, 2, 5))) ; - - -extern __inline __attribute__ ((__gnu_inline__)) void * -bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, - __compar_fn_t __compar) -{ - size_t __l, __u, __idx; - const void *__p; - int __comparison; - - __l = 0; - __u = __nmemb; - while (__l < __u) - { - __idx = (__l + __u) / 2; - __p = (void *) (((const char *) __base) + (__idx * __size)); - __comparison = (*__compar) (__key, __p); - if (__comparison < 0) - __u = __idx; - else if (__comparison > 0) - __l = __idx + 1; - else - return (void *) __p; - } - - return ((void *)0); +extern char *__strsep_g(char **__stringp, const char *__delim); +extern __inline + __attribute__((__gnu_inline__)) char *__strsep_1c(char **__s, + char __reject); +extern __inline + __attribute__((__gnu_inline__)) char *__strsep_1c(char **__s, + char __reject) { + char *__retval = *__s; + if (__retval != ((void *)0) && + (*__s = (__extension__( + __builtin_constant_p(__reject) && !__builtin_constant_p(__retval) && + (__reject) == '\0' + ? (char *)__rawmemchr(__retval, __reject) + : __builtin_strchr(__retval, __reject)))) != ((void *)0)) + *(*__s)++ = '\0'; + return __retval; } +extern __inline + __attribute__((__gnu_inline__)) char *__strsep_2c(char **__s, + char __reject1, + char __reject2); +extern __inline + __attribute__((__gnu_inline__)) char *__strsep_2c(char **__s, + char __reject1, + char __reject2) { + char *__retval = *__s; + if (__retval != ((void *)0)) { + char *__cp = __retval; + while (1) { + if (*__cp == '\0') { + __cp = ((void *)0); + break; + } + if (*__cp == __reject1 || *__cp == __reject2) { + *__cp++ = '\0'; + break; + } + ++__cp; + } + *__s = __cp; + } + return __retval; +} +extern __inline __attribute__((__gnu_inline__)) char *__strsep_3c( + char **__s, char __reject1, char __reject2, char __reject3); +extern __inline __attribute__((__gnu_inline__)) char *__strsep_3c( + char **__s, char __reject1, char __reject2, char __reject3) { + char *__retval = *__s; + if (__retval != ((void *)0)) { + char *__cp = __retval; + while (1) { + if (*__cp == '\0') { + __cp = ((void *)0); + break; + } + if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) { + *__cp++ = '\0'; + break; + } + ++__cp; + } + *__s = __cp; + } + return __retval; +} +extern void *malloc(size_t __size) __attribute__((__nothrow__, __leaf__)) + __attribute__((__malloc__)); -extern void qsort (void *__base, size_t __nmemb, size_t __size, - __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); -extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; -extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; - +extern void *calloc(size_t __nmemb, size_t __size) + __attribute__((__nothrow__, __leaf__)) __attribute__((__malloc__)); +extern char *__strdup(const char *__string) + __attribute__((__nothrow__, __leaf__)) __attribute__((__malloc__)); +extern char *__strndup(const char *__string, size_t __n) + __attribute__((__nothrow__, __leaf__)) __attribute__((__malloc__)); -__extension__ extern long long int llabs (long long int __x) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +union wait { + int w_status; + struct { + unsigned int __w_termsig : 7; + unsigned int __w_coredump : 1; + unsigned int __w_retcode : 8; + unsigned int : 16; + } __wait_terminated; + struct { + unsigned int __w_stopval : 8; + unsigned int __w_stopsig : 8; + unsigned int : 16; + } __wait_stopped; +}; +typedef union { + union wait *__uptr; + int *__iptr; +} __WAIT_STATUS __attribute__((__transparent_union__)); +typedef struct { + int quot; + int rem; +} div_t; +typedef struct { + long int quot; + long int rem; +} ldiv_t; -extern div_t div (int __numer, int __denom) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; -extern ldiv_t ldiv (long int __numer, long int __denom) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +__extension__ typedef struct { + long long int quot; + long long int rem; +} lldiv_t; +extern size_t __ctype_get_mb_cur_max(void) + __attribute__((__nothrow__, __leaf__)); +extern double atof(const char *__nptr) __attribute__((__nothrow__, __leaf__)) + __attribute__((__pure__)) __attribute__((__nonnull__(1))); +extern int atoi(const char *__nptr) __attribute__((__nothrow__, __leaf__)) + __attribute__((__pure__)) __attribute__((__nonnull__(1))); -__extension__ extern lldiv_t lldiv (long long int __numer, - long long int __denom) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern long int atol(const char *__nptr) __attribute__((__nothrow__, __leaf__)) + __attribute__((__pure__)) __attribute__((__nonnull__(1))); -extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +__extension__ extern long long int atoll(const char *__nptr) + __attribute__((__nothrow__, __leaf__)) __attribute__((__pure__)) + __attribute__((__nonnull__(1))); +extern double strtod(const char *__restrict __nptr, char **__restrict __endptr) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern float strtof(const char *__restrict __nptr, char **__restrict __endptr) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern long double strtold(const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); -extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern long int strtol(const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern unsigned long int strtoul(const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +__extension__ extern long long int +strtoq(const char *__restrict __nptr, char **__restrict __endptr, int __base) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +__extension__ extern unsigned long long int +strtouq(const char *__restrict __nptr, char **__restrict __endptr, int __base) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); -extern char *gcvt (double __value, int __ndigit, char *__buf) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; +__extension__ extern long long int +strtoll(const char *__restrict __nptr, char **__restrict __endptr, int __base) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +__extension__ extern unsigned long long int +strtoull(const char *__restrict __nptr, char **__restrict __endptr, int __base) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern __inline __attribute__((__gnu_inline__)) int + __attribute__((__nothrow__, __leaf__)) atoi(const char *__nptr) { + return (int)strtol(__nptr, (char **)((void *)0), 10); +} +extern __inline __attribute__((__gnu_inline__)) long int + __attribute__((__nothrow__, __leaf__)) atol(const char *__nptr) { + return strtol(__nptr, (char **)((void *)0), 10); +} +__extension__ extern __inline __attribute__((__gnu_inline__)) long long int + __attribute__((__nothrow__, __leaf__)) atoll(const char *__nptr) { + return strtoll(__nptr, (char **)((void *)0), 10); +} -extern char *qecvt (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; -extern char *qfcvt (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; -extern char *qgcvt (long double __value, int __ndigit, char *__buf) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; +extern char *l64a(long int __n) __attribute__((__nothrow__, __leaf__)); +extern long int a64l(const char *__s) __attribute__((__nothrow__, __leaf__)) + __attribute__((__pure__)) __attribute__((__nonnull__(1))); +extern long int random(void) __attribute__((__nothrow__, __leaf__)); +extern void srandom(unsigned int __seed) __attribute__((__nothrow__, __leaf__)); +extern char *initstate(unsigned int __seed, char *__statebuf, size_t __statelen) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(2))); -extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign, char *__restrict __buf, - size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); -extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign, char *__restrict __buf, - size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern char *setstate(char *__statebuf) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1))); -extern int qecvt_r (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign, - char *__restrict __buf, size_t __len) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); -extern int qfcvt_r (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign, - char *__restrict __buf, size_t __len) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +struct random_data { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; +}; +extern int random_r(struct random_data *__restrict __buf, + int32_t *__restrict __result) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); +extern int srandom_r(unsigned int __seed, struct random_data *__buf) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(2))); +extern int initstate_r(unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, struct random_data *__restrict __buf) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(2, 4))); +extern int setstate_r(char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); +extern int rand(void) __attribute__((__nothrow__, __leaf__)); -extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); +extern void srand(unsigned int __seed) __attribute__((__nothrow__, __leaf__)); +extern int rand_r(unsigned int *__seed) __attribute__((__nothrow__, __leaf__)); -extern int mbtowc (wchar_t *__restrict __pwc, - const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); +extern double drand48(void) __attribute__((__nothrow__, __leaf__)); +extern double erand48(unsigned short int __xsubi[3]) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern long int lrand48(void) __attribute__((__nothrow__, __leaf__)); +extern long int nrand48(unsigned short int __xsubi[3]) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); -extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); +extern long int mrand48(void) __attribute__((__nothrow__, __leaf__)); +extern long int jrand48(unsigned short int __xsubi[3]) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern void srand48(long int __seedval) __attribute__((__nothrow__, __leaf__)); +extern unsigned short int *seed48(unsigned short int __seed16v[3]) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern void lcong48(unsigned short int __param[7]) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +struct drand48_data { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; +}; -extern size_t mbstowcs (wchar_t *__restrict __pwcs, - const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); +extern int drand48_r(struct drand48_data *__restrict __buffer, + double *__restrict __result) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); +extern int erand48_r(unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); -extern size_t wcstombs (char *__restrict __s, - const wchar_t *__restrict __pwcs, size_t __n) - __attribute__ ((__nothrow__ , __leaf__)); +extern int lrand48_r(struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); +extern int nrand48_r(unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); +extern int mrand48_r(struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); +extern int jrand48_r(unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); +extern int srand48_r(long int __seedval, struct drand48_data *__buffer) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(2))); +extern int seed48_r(unsigned short int __seed16v[3], + struct drand48_data *__buffer) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); +extern int lcong48_r(unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1, 2))); +extern void *realloc(void *__ptr, size_t __size) + __attribute__((__nothrow__, __leaf__)) + __attribute__((__warn_unused_result__)); +extern void free(void *__ptr) __attribute__((__nothrow__, __leaf__)); +extern void cfree(void *__ptr) __attribute__((__nothrow__, __leaf__)); -extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; -extern int getsubopt (char **__restrict __optionp, - char *const *__restrict __tokens, - char **__restrict __valuep) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) ; -extern int getloadavg (double __loadavg[], int __nelem) - __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern void *alloca(size_t __size) __attribute__((__nothrow__, __leaf__)); +extern void *valloc(size_t __size) __attribute__((__nothrow__, __leaf__)) + __attribute__((__malloc__)); +extern int posix_memalign(void **__memptr, size_t __alignment, size_t __size) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); -extern __inline __attribute__ ((__gnu_inline__)) double -__attribute__ ((__nothrow__ , __leaf__)) atof (const char *__nptr) -{ - return strtod (__nptr, (char **) ((void *)0)); -} +extern void *aligned_alloc(size_t __alignment, size_t __size) + __attribute__((__nothrow__, __leaf__)) __attribute__((__malloc__)) + __attribute__((__alloc_size__(2))); +extern void abort(void) __attribute__((__nothrow__, __leaf__)) + __attribute__((__noreturn__)); +extern int atexit(void (*__func)(void)) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1))); +extern int at_quick_exit(void (*__func)(void)) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern int on_exit(void (*__func)(int __status, void *__arg), void *__arg) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern void exit(int __status) __attribute__((__nothrow__, __leaf__)) + __attribute__((__noreturn__)); +extern void quick_exit(int __status) __attribute__((__nothrow__, __leaf__)) + __attribute__((__noreturn__)); +extern void _Exit(int __status) __attribute__((__nothrow__, __leaf__)) + __attribute__((__noreturn__)); +extern char *getenv(const char *__name) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1))); +extern int putenv(char *__string) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1))); +extern int setenv(const char *__name, const char *__value, int __replace) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(2))); +extern int unsetenv(const char *__name) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1))); +extern int clearenv(void) __attribute__((__nothrow__, __leaf__)); +extern char *mktemp(char *__template) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1))); +extern int mkstemp(char *__template) __attribute__((__nonnull__(1))); +extern int mkstemps(char *__template, int __suffixlen) + __attribute__((__nonnull__(1))); +extern char *mkdtemp(char *__template) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1))); -extern int *__errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +extern int system(const char *__command); +extern char *realpath(const char *__restrict __name, + char *__restrict __resolved) + __attribute__((__nothrow__, __leaf__)); +typedef int (*__compar_fn_t)(const void *, const void *); +extern void *bsearch(const void *__key, const void *__base, size_t __nmemb, + size_t __size, __compar_fn_t __compar) + __attribute__((__nonnull__(1, 2, 5))); +extern __inline + __attribute__((__gnu_inline__)) void *bsearch(const void *__key, + const void *__base, + size_t __nmemb, size_t __size, + __compar_fn_t __compar) { + size_t __l, __u, __idx; + const void *__p; + int __comparison; + __l = 0; + __u = __nmemb; + while (__l < __u) { + __idx = (__l + __u) / 2; + __p = (void *)(((const char *)__base) + (__idx * __size)); + __comparison = (*__compar)(__key, __p); + if (__comparison < 0) + __u = __idx; + else if (__comparison > 0) + __l = __idx + 1; + else + return (void *)__p; + } + return ((void *)0); +} +extern void qsort(void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__((__nonnull__(1, 4))); +extern int abs(int __x) __attribute__((__nothrow__, __leaf__)) + __attribute__((__const__)); +extern long int labs(long int __x) __attribute__((__nothrow__, __leaf__)) + __attribute__((__const__)); + +__extension__ extern long long int llabs(long long int __x) + __attribute__((__nothrow__, __leaf__)) __attribute__((__const__)); + +extern div_t div(int __numer, int __denom) + __attribute__((__nothrow__, __leaf__)) __attribute__((__const__)); +extern ldiv_t ldiv(long int __numer, long int __denom) + __attribute__((__nothrow__, __leaf__)) __attribute__((__const__)); + +__extension__ extern lldiv_t lldiv(long long int __numer, long long int __denom) + __attribute__((__nothrow__, __leaf__)) __attribute__((__const__)); + +extern char *ecvt(double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(3, 4))); + +extern char *fcvt(double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(3, 4))); + +extern char *gcvt(double __value, int __ndigit, char *__buf) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(3))); + +extern char *qecvt(long double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(3, 4))); +extern char *qfcvt(long double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(3, 4))); +extern char *qgcvt(long double __value, int __ndigit, char *__buf) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(3))); + +extern int ecvt_r(double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, size_t __len) + __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(3, 4, 5))); +extern int fcvt_r(double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, size_t __len) + __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(3, 4, 5))); + +extern int qecvt_r(long double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, size_t __len) + __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(3, 4, 5))); +extern int qfcvt_r(long double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, size_t __len) + __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(3, 4, 5))); + +extern int mblen(const char *__s, size_t __n) + __attribute__((__nothrow__, __leaf__)); + +extern int mbtowc(wchar_t *__restrict __pwc, const char *__restrict __s, + size_t __n) __attribute__((__nothrow__, __leaf__)); + +extern int wctomb(char *__s, wchar_t __wchar) + __attribute__((__nothrow__, __leaf__)); + +extern size_t mbstowcs(wchar_t *__restrict __pwcs, const char *__restrict __s, + size_t __n) __attribute__((__nothrow__, __leaf__)); + +extern size_t wcstombs(char *__restrict __s, const wchar_t *__restrict __pwcs, + size_t __n) __attribute__((__nothrow__, __leaf__)); + +extern int rpmatch(const char *__response) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); +extern int getsubopt(char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __attribute__((__nothrow__, __leaf__)) + __attribute__((__nonnull__(1, 2, 3))); +extern int getloadavg(double __loadavg[], int __nelem) + __attribute__((__nothrow__, __leaf__)) __attribute__((__nonnull__(1))); + +extern __inline __attribute__((__gnu_inline__)) double + __attribute__((__nothrow__, __leaf__)) atof(const char *__nptr) { + return strtod(__nptr, (char **)((void *)0)); +} +extern int *__errno_location(void) __attribute__((__nothrow__, __leaf__)) + __attribute__((__const__)); typedef unsigned char uch; typedef uch uchf; @@ -3598,844 +2173,688 @@ typedef ush ushf; typedef unsigned long ulg; extern const char *z_errmsg[10]; -typedef uLong ( *check_func) (uLong check, const Bytef *buf, uInt len) - ; -voidpf zcalloc (voidpf opaque, unsigned items, unsigned size); -void zcfree (voidpf opaque, voidpf ptr); +typedef uLong (*check_func)(uLong check, const Bytef *buf, uInt len); +voidpf zcalloc(voidpf opaque, unsigned items, unsigned size); +void zcfree(voidpf opaque, voidpf ptr); -struct internal_state {int dummy;}; -static int gz_magic[2] = {0x1f, 0x8b}; +struct internal_state { + int dummy; +}; +static int gz_magic[2] = { 0x1f, 0x8b }; typedef struct gz_stream { - z_stream stream; - int z_err; - int z_eof; - FILE *file; - Byte *inbuf; - Byte *outbuf; - uLong crc; - char *msg; - char *path; - int transparent; - char mode; - long startpos; + z_stream stream; + int z_err; + int z_eof; + FILE *file; + Byte *inbuf; + Byte *outbuf; + uLong crc; + char *msg; + char *path; + int transparent; + char mode; + long startpos; } gz_stream; - -static gzFile gz_open (const char *path, const char *mode, int fd); -static int do_flush (gzFile file, int flush); -static int get_byte (gz_stream *s); -static void check_header (gz_stream *s); -static int destroy (gz_stream *s); -static void putLong (FILE *file, uLong x); -static uLong getLong (gz_stream *s); -static gzFile gz_open (path, mode, fd) - const char *path; - const char *mode; - int fd; -{ - int err; - int level = (-1); - int strategy = 0; - char *p = (char*)mode; - gz_stream *s; - char fmode[80]; - char *m = fmode; - - if (!path || !mode) return 0; - - s = (gz_stream *)malloc(sizeof(gz_stream)); - if (!s) return 0; - - s->stream.zalloc = (alloc_func)0; - s->stream.zfree = (free_func)0; - s->stream.opaque = (voidpf)0; - s->stream.next_in = s->inbuf = 0; - s->stream.next_out = s->outbuf = 0; - s->stream.avail_in = s->stream.avail_out = 0; - s->file = - ((void *)0) - ; - s->z_err = 0; - s->z_eof = 0; - s->crc = crc32(0L, 0, 0); - s->msg = - ((void *)0) - ; - s->transparent = 0; - - s->path = (char*)malloc(strlen(path)+1); - if (s->path == - ((void *)0) - ) { - return destroy(s), (gzFile)0; - } - strcpy(s->path, path); - - s->mode = '\0'; - do { - if (*p == 'r') s->mode = 'r'; - if (*p == 'w' || *p == 'a') s->mode = 'w'; - if (*p >= '0' && *p <= '9') { - level = *p - '0'; - } else if (*p == 'f') { - strategy = 1; - } else if (*p == 'h') { - strategy = 2; - } else { - *m++ = *p; - } - } while (*p++ && m != fmode + sizeof(fmode)); - if (s->mode == '\0') return destroy(s), (gzFile)0; - - if (s->mode == 'w') { - - - - err = deflateInit2_((&(s->stream)),(level),(8),(-15),(8), (strategy), "1.1.3", sizeof(z_stream)) - ; - - - s->stream.next_out = s->outbuf = (Byte*)malloc(16384); - - if (err != 0 || s->outbuf == 0) { - return destroy(s), (gzFile)0; - } +static gzFile gz_open(const char *path, const char *mode, int fd); +static int do_flush(gzFile file, int flush); +static int get_byte(gz_stream *s); +static void check_header(gz_stream *s); +static int destroy(gz_stream *s); +static void putLong(FILE *file, uLong x); +static uLong getLong(gz_stream *s); +static gzFile gz_open(path, mode, fd) const char *path; +const char *mode; +int fd; +{ + int err; + int level = (-1); + int strategy = 0; + char *p = (char *)mode; + gz_stream *s; + char fmode[80]; + char *m = fmode; + + if (!path || !mode) + return 0; + + s = (gz_stream *)malloc(sizeof(gz_stream)); + if (!s) + return 0; + + s->stream.zalloc = (alloc_func)0; + s->stream.zfree = (free_func)0; + s->stream.opaque = (voidpf)0; + s->stream.next_in = s->inbuf = 0; + s->stream.next_out = s->outbuf = 0; + s->stream.avail_in = s->stream.avail_out = 0; + s->file = ((void *)0); + s->z_err = 0; + s->z_eof = 0; + s->crc = crc32(0L, 0, 0); + s->msg = ((void *)0); + s->transparent = 0; + + s->path = (char *)malloc(strlen(path) + 1); + if (s->path == ((void *)0)) { + return destroy(s), (gzFile)0; + } + strcpy(s->path, path); + + s->mode = '\0'; + do { + if (*p == 'r') + s->mode = 'r'; + if (*p == 'w' || *p == 'a') + s->mode = 'w'; + if (*p >= '0' && *p <= '9') { + level = *p - '0'; + } else if (*p == 'f') { + strategy = 1; + } else if (*p == 'h') { + strategy = 2; } else { - s->stream.next_in = s->inbuf = (Byte*)malloc(16384); - - err = inflateInit2_((&(s->stream)), (-15), "1.1.3", sizeof(z_stream)); - - - - - - - if (err != 0 || s->inbuf == 0) { - return destroy(s), (gzFile)0; - } - } - s->stream.avail_out = 16384; - - - (*__errno_location ()) - = 0; - s->file = fd < 0 ? fopen((path), (fmode)) : (FILE*)fdopen(fd, fmode); - - if (s->file == - ((void *)0) - ) { - return destroy(s), (gzFile)0; + *m++ = *p; } - if (s->mode == 'w') { - + } while (*p++ && m != fmode + sizeof(fmode)); + if (s->mode == '\0') + return destroy(s), (gzFile)0; - fprintf(s->file, "%c%c%c%c%c%c%c%c%c%c", gz_magic[0], gz_magic[1], - 8, 0 , 0,0,0,0 , 0 , 0x03); - s->startpos = 10L; + if (s->mode == 'w') { + err = deflateInit2_((&(s->stream)), (level), (8), (-15), (8), (strategy), + "1.1.3", sizeof(z_stream)); + s->stream.next_out = s->outbuf = (Byte *)malloc(16384); + if (err != 0 || s->outbuf == 0) { + return destroy(s), (gzFile)0; + } + } else { + s->stream.next_in = s->inbuf = (Byte *)malloc(16384); + err = inflateInit2_((&(s->stream)), (-15), "1.1.3", sizeof(z_stream)); - } else { - check_header(s); - s->startpos = (ftell(s->file) - s->stream.avail_in); + if (err != 0 || s->inbuf == 0) { + return destroy(s), (gzFile)0; } + } + s->stream.avail_out = 16384; - return (gzFile)s; -} + (*__errno_location()) = 0; + s->file = fd < 0 ? fopen((path), (fmode)) : (FILE *)fdopen(fd, fmode); + if (s->file == ((void *)0)) { + return destroy(s), (gzFile)0; + } + if (s->mode == 'w') { + fprintf(s->file, "%c%c%c%c%c%c%c%c%c%c", gz_magic[0], gz_magic[1], 8, 0, 0, + 0, 0, 0, 0, 0x03); + s->startpos = 10L; + } else { + check_header(s); + s->startpos = (ftell(s->file) - s->stream.avail_in); + } -gzFile gzopen (path, mode) - const char *path; - const char *mode; -{ - return gz_open (path, mode, -1); + return (gzFile)s; } +gzFile gzopen(path, mode) const char *path; +const char *mode; +{ return gz_open(path, mode, -1); } - - - -gzFile gzdopen (fd, mode) - int fd; - const char *mode; +gzFile gzdopen(fd, mode) int fd; +const char *mode; { - char name[20]; + char name[20]; - if (fd < 0) return (gzFile)0; - sprintf(name, "", fd); + if (fd < 0) + return (gzFile)0; + sprintf(name, "", fd); - return gz_open (name, mode, fd); + return gz_open(name, mode, fd); } - - - -int gzsetparams (file, level, strategy) - gzFile file; - int level; - int strategy; +int gzsetparams(file, level, strategy) gzFile file; +int level; +int strategy; { - gz_stream *s = (gz_stream*)file; - - if (s == - ((void *)0) - || s->mode != 'w') return (-2); + gz_stream *s = (gz_stream *)file; + if (s == ((void *)0) || s->mode != 'w') + return (-2); - if (s->stream.avail_out == 0) { + if (s->stream.avail_out == 0) { - s->stream.next_out = s->outbuf; - if (fwrite(s->outbuf, 1, 16384, s->file) != 16384) { - s->z_err = (-1); - } - s->stream.avail_out = 16384; + s->stream.next_out = s->outbuf; + if (fwrite(s->outbuf, 1, 16384, s->file) != 16384) { + s->z_err = (-1); } + s->stream.avail_out = 16384; + } - return deflateParams (&(s->stream), level, strategy); + return deflateParams(&(s->stream), level, strategy); } - - - - - -static int get_byte(s) - gz_stream *s; +static int get_byte(s) gz_stream *s; { - if (s->z_eof) return - (-1) - ; + if (s->z_eof) + return (-1); + if (s->stream.avail_in == 0) { + + (*__errno_location()) = 0; + s->stream.avail_in = fread(s->inbuf, 1, 16384, s->file); if (s->stream.avail_in == 0) { - -(*__errno_location ()) - = 0; - s->stream.avail_in = fread(s->inbuf, 1, 16384, s->file); - if (s->stream.avail_in == 0) { - s->z_eof = 1; - if (ferror(s->file)) s->z_err = (-1); - return - (-1) - ; - } - s->stream.next_in = s->inbuf; + s->z_eof = 1; + if (ferror(s->file)) + s->z_err = (-1); + return (-1); } - s->stream.avail_in--; - return *(s->stream.next_in)++; + s->stream.next_in = s->inbuf; + } + s->stream.avail_in--; + return *(s->stream.next_in)++; } -static void check_header(s) - gz_stream *s; +static void check_header(s) gz_stream *s; { - int method; - int flags; - uInt len; - int c; - - - for (len = 0; len < 2; len++) { - c = get_byte(s); - if (c != gz_magic[len]) { - if (len != 0) s->stream.avail_in++, s->stream.next_in--; - if (c != - (-1) - ) { - s->stream.avail_in++, s->stream.next_in--; - s->transparent = 1; - } - s->z_err = s->stream.avail_in != 0 ? 0 : 1; - return; - } - } - method = get_byte(s); - flags = get_byte(s); - if (method != 8 || (flags & 0xE0) != 0) { - s->z_err = (-3); - return; - } + int method; + int flags; + uInt len; + int c; - - for (len = 0; len < 6; len++) (void)get_byte(s); - - if ((flags & 0x04) != 0) { - len = (uInt)get_byte(s); - len += ((uInt)get_byte(s))<<8; - - while (len-- != 0 && get_byte(s) != - (-1) - ) ; - } - if ((flags & 0x08) != 0) { - while ((c = get_byte(s)) != 0 && c != - (-1) - ) ; - } - if ((flags & 0x10) != 0) { - while ((c = get_byte(s)) != 0 && c != - (-1) - ) ; - } - if ((flags & 0x02) != 0) { - for (len = 0; len < 2; len++) (void)get_byte(s); + for (len = 0; len < 2; len++) { + c = get_byte(s); + if (c != gz_magic[len]) { + if (len != 0) + s->stream.avail_in++, s->stream.next_in--; + if (c != (-1)) { + s->stream.avail_in++, s->stream.next_in--; + s->transparent = 1; + } + s->z_err = s->stream.avail_in != 0 ? 0 : 1; + return; } - s->z_err = s->z_eof ? (-3) : 0; -} - + } + method = get_byte(s); + flags = get_byte(s); + if (method != 8 || (flags & 0xE0) != 0) { + s->z_err = (-3); + return; + } + for (len = 0; len < 6; len++) + (void)get_byte(s); + if ((flags & 0x04) != 0) { + len = (uInt)get_byte(s); + len += ((uInt)get_byte(s)) << 8; + while (len-- != 0 && get_byte(s) != (-1)) + ; + } + if ((flags & 0x08) != 0) { + while ((c = get_byte(s)) != 0 && c != (-1)) + ; + } + if ((flags & 0x10) != 0) { + while ((c = get_byte(s)) != 0 && c != (-1)) + ; + } + if ((flags & 0x02) != 0) { + for (len = 0; len < 2; len++) + (void)get_byte(s); + } + s->z_err = s->z_eof ? (-3) : 0; +} -static int destroy (s) - gz_stream *s; +static int destroy(s) gz_stream *s; { - int err = 0; + int err = 0; - if (!s) return (-2); - - {if (s->msg) free(s->msg);}; - - if (s->stream.state != - ((void *)0) - ) { - if (s->mode == 'w') { + if (!s) + return (-2); + { + if (s->msg) + free(s->msg); + }; + if (s->stream.state != ((void *)0)) { + if (s->mode == 'w') { - err = deflateEnd(&(s->stream)); + err = deflateEnd(&(s->stream)); - } else if (s->mode == 'r') { - err = inflateEnd(&(s->stream)); - } + } else if (s->mode == 'r') { + err = inflateEnd(&(s->stream)); } - if (s->file != - ((void *)0) - && fclose(s->file)) { + } + if (s->file != ((void *)0) && fclose(s->file)) { - if ( - (*__errno_location ()) - != - 29 - ) + if ((*__errno_location()) != 29) - err = (-1); - } - if (s->z_err < 0) err = s->z_err; + err = (-1); + } + if (s->z_err < 0) + err = s->z_err; - {if (s->inbuf) free(s->inbuf);}; - {if (s->outbuf) free(s->outbuf);}; - {if (s->path) free(s->path);}; - {if (s) free(s);}; - return err; + { + if (s->inbuf) + free(s->inbuf); + }; + { + if (s->outbuf) + free(s->outbuf); + }; + { + if (s->path) + free(s->path); + }; + { + if (s) + free(s); + }; + return err; } - - - - -int gzread (file, buf, len) - gzFile file; - voidp buf; - unsigned len; +int gzread(file, buf, len) gzFile file; +voidp buf; +unsigned len; { - gz_stream *s = (gz_stream*)file; - Bytef *start = (Bytef*)buf; - Byte *next_out; - - if (s == - ((void *)0) - || s->mode != 'r') return (-2); - - if (s->z_err == (-3) || s->z_err == (-1)) return -1; - if (s->z_err == 1) return 0; - - next_out = (Byte*)buf; - s->stream.next_out = (Bytef*)buf; - s->stream.avail_out = len; - - while (s->stream.avail_out != 0) { - - if (s->transparent) { - - uInt n = s->stream.avail_in; - if (n > s->stream.avail_out) n = s->stream.avail_out; - if (n > 0) { - memcpy(s->stream.next_out, s->stream.next_in, n); - next_out += n; - s->stream.next_out = next_out; - s->stream.next_in += n; - s->stream.avail_out -= n; - s->stream.avail_in -= n; - } - if (s->stream.avail_out > 0) { - s->stream.avail_out -= fread(next_out, 1, s->stream.avail_out, - s->file); - } - len -= s->stream.avail_out; - s->stream.total_in += (uLong)len; - s->stream.total_out += (uLong)len; - if (len == 0) s->z_eof = 1; - return (int)len; - } - if (s->stream.avail_in == 0 && !s->z_eof) { - - - (*__errno_location ()) - = 0; - s->stream.avail_in = fread(s->inbuf, 1, 16384, s->file); - if (s->stream.avail_in == 0) { - s->z_eof = 1; - if (ferror(s->file)) { - s->z_err = (-1); - break; - } - } - s->stream.next_in = s->inbuf; - } - s->z_err = inflate(&(s->stream), 0); - - if (s->z_err == 1) { + gz_stream *s = (gz_stream *)file; + Bytef *start = (Bytef *)buf; + Byte *next_out; - s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start)); - start = s->stream.next_out; + if (s == ((void *)0) || s->mode != 'r') + return (-2); - if (getLong(s) != s->crc) { - s->z_err = (-3); - } else { - (void)getLong(s); + if (s->z_err == (-3) || s->z_err == (-1)) + return -1; + if (s->z_err == 1) + return 0; + next_out = (Byte *)buf; + s->stream.next_out = (Bytef *)buf; + s->stream.avail_out = len; + while (s->stream.avail_out != 0) { + if (s->transparent) { - check_header(s); - if (s->z_err == 0) { - uLong total_in = s->stream.total_in; - uLong total_out = s->stream.total_out; - - inflateReset(&(s->stream)); - s->stream.total_in = total_in; - s->stream.total_out = total_out; - s->crc = crc32(0L, 0, 0); - } - } - } - if (s->z_err != 0 || s->z_eof) break; + uInt n = s->stream.avail_in; + if (n > s->stream.avail_out) + n = s->stream.avail_out; + if (n > 0) { + memcpy(s->stream.next_out, s->stream.next_in, n); + next_out += n; + s->stream.next_out = next_out; + s->stream.next_in += n; + s->stream.avail_out -= n; + s->stream.avail_in -= n; + } + if (s->stream.avail_out > 0) { + s->stream.avail_out -= fread(next_out, 1, s->stream.avail_out, s->file); + } + len -= s->stream.avail_out; + s->stream.total_in += (uLong)len; + s->stream.total_out += (uLong)len; + if (len == 0) + s->z_eof = 1; + return (int)len; + } + if (s->stream.avail_in == 0 && !s->z_eof) { + + (*__errno_location()) = 0; + s->stream.avail_in = fread(s->inbuf, 1, 16384, s->file); + if (s->stream.avail_in == 0) { + s->z_eof = 1; + if (ferror(s->file)) { + s->z_err = (-1); + break; + } + } + s->stream.next_in = s->inbuf; } - s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start)); + s->z_err = inflate(&(s->stream), 0); - return (int)(len - s->stream.avail_out); -} + if (s->z_err == 1) { + s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start)); + start = s->stream.next_out; + if (getLong(s) != s->crc) { + s->z_err = (-3); + } else { + (void)getLong(s); + check_header(s); + if (s->z_err == 0) { + uLong total_in = s->stream.total_in; + uLong total_out = s->stream.total_out; + inflateReset(&(s->stream)); + s->stream.total_in = total_in; + s->stream.total_out = total_out; + s->crc = crc32(0L, 0, 0); + } + } + } + if (s->z_err != 0 || s->z_eof) + break; + } + s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start)); + return (int)(len - s->stream.avail_out); +} -int gzgetc(file) - gzFile file; +int gzgetc(file) gzFile file; { - unsigned char c; + unsigned char c; - return gzread(file, &c, 1) == 1 ? c : -1; + return gzread(file, &c, 1) == 1 ? c : -1; } -char * gzgets(file, buf, len) - gzFile file; - char *buf; - int len; -{ - char *b = buf; - if (buf == 0 || len <= 0) return 0; - - while (--len > 0 && gzread(file, buf, 1) == 1 && *buf++ != '\n') ; - *buf = '\0'; - return b == buf && len > 0 ? 0 : b; +char *gzgets(file, buf, len) gzFile file; +char *buf; +int len; +{ + char *b = buf; + if (buf == 0 || len <= 0) + return 0; + + while (--len > 0 && gzread(file, buf, 1) == 1 && *buf++ != '\n') + ; + *buf = '\0'; + return b == buf && len > 0 ? 0 : b; } - - - - - - -int gzwrite (file, buf, len) - gzFile file; - const voidp buf; - unsigned len; +int gzwrite(file, buf, len) gzFile file; +const voidp buf; +unsigned len; { - gz_stream *s = (gz_stream*)file; + gz_stream *s = (gz_stream *)file; - if (s == - ((void *)0) - || s->mode != 'w') return (-2); + if (s == ((void *)0) || s->mode != 'w') + return (-2); - s->stream.next_in = (Bytef*)buf; - s->stream.avail_in = len; + s->stream.next_in = (Bytef *)buf; + s->stream.avail_in = len; - while (s->stream.avail_in != 0) { + while (s->stream.avail_in != 0) { - if (s->stream.avail_out == 0) { + if (s->stream.avail_out == 0) { - s->stream.next_out = s->outbuf; - if (fwrite(s->outbuf, 1, 16384, s->file) != 16384) { - s->z_err = (-1); - break; - } - s->stream.avail_out = 16384; - } - s->z_err = deflate(&(s->stream), 0); - if (s->z_err != 0) break; + s->stream.next_out = s->outbuf; + if (fwrite(s->outbuf, 1, 16384, s->file) != 16384) { + s->z_err = (-1); + break; + } + s->stream.avail_out = 16384; } - s->crc = crc32(s->crc, (const Bytef *)buf, len); + s->z_err = deflate(&(s->stream), 0); + if (s->z_err != 0) + break; + } + s->crc = crc32(s->crc, (const Bytef *)buf, len); - return (int)(len - s->stream.avail_in); + return (int)(len - s->stream.avail_in); } +int gzprintf(gzFile file, const char *format, ...) { + char buf[4096]; + va_list va; + int len; + __builtin_va_start(va, format); + (void)vsprintf(buf, format, va); + __builtin_va_end(va); + len = strlen(buf); + if (len <= 0) + return 0; - - - -int gzprintf (gzFile file, const char *format, ...) -{ - char buf[4096]; - va_list va; - int len; - - - __builtin_va_start( - va - , - format - ) - ; - - - - (void)vsprintf(buf, format, va); - - - __builtin_va_end( - va - ) - ; - len = strlen(buf); - if (len <= 0) return 0; - - return gzwrite(file, buf, (unsigned)len); + return gzwrite(file, buf, (unsigned)len); } -int gzputc(file, c) - gzFile file; - int c; +int gzputc(file, c) gzFile file; +int c; { - unsigned char cc = (unsigned char) c; - - return gzwrite(file, &cc, 1) == 1 ? (int)cc : -1; -} - - - + unsigned char cc = (unsigned char)c; - - - -int gzputs(file, s) - gzFile file; - const char *s; -{ - return gzwrite(file, (char*)s, (unsigned)strlen(s)); + return gzwrite(file, &cc, 1) == 1 ? (int)cc : -1; } +int gzputs(file, s) gzFile file; +const char *s; +{ return gzwrite(file, (char *)s, (unsigned)strlen(s)); } - - - - -static int do_flush (file, flush) - gzFile file; - int flush; +static int do_flush(file, flush) gzFile file; +int flush; { - uInt len; - int done = 0; - gz_stream *s = (gz_stream*)file; + uInt len; + int done = 0; + gz_stream *s = (gz_stream *)file; - if (s == - ((void *)0) - || s->mode != 'w') return (-2); + if (s == ((void *)0) || s->mode != 'w') + return (-2); - s->stream.avail_in = 0; - - for (;;) { - len = 16384 - s->stream.avail_out; - - if (len != 0) { - if ((uInt)fwrite(s->outbuf, 1, len, s->file) != len) { - s->z_err = (-1); - return (-1); - } - s->stream.next_out = s->outbuf; - s->stream.avail_out = 16384; - } - if (done) break; - s->z_err = deflate(&(s->stream), flush); - - - if (len == 0 && s->z_err == (-5)) s->z_err = 0; + s->stream.avail_in = 0; + for (;;) { + len = 16384 - s->stream.avail_out; + if (len != 0) { + if ((uInt)fwrite(s->outbuf, 1, len, s->file) != len) { + s->z_err = (-1); + return (-1); + } + s->stream.next_out = s->outbuf; + s->stream.avail_out = 16384; + } + if (done) + break; + s->z_err = deflate(&(s->stream), flush); + if (len == 0 && s->z_err == (-5)) + s->z_err = 0; - done = (s->stream.avail_out != 0 || s->z_err == 1); + done = (s->stream.avail_out != 0 || s->z_err == 1); - if (s->z_err != 0 && s->z_err != 1) break; - } - return s->z_err == 1 ? 0 : s->z_err; + if (s->z_err != 0 && s->z_err != 1) + break; + } + return s->z_err == 1 ? 0 : s->z_err; } -int gzflush (file, flush) - gzFile file; - int flush; +int gzflush(file, flush) gzFile file; +int flush; { - gz_stream *s = (gz_stream*)file; - int err = do_flush (file, flush); + gz_stream *s = (gz_stream *)file; + int err = do_flush(file, flush); - if (err) return err; - fflush(s->file); - return s->z_err == 1 ? 0 : s->z_err; + if (err) + return err; + fflush(s->file); + return s->z_err == 1 ? 0 : s->z_err; } -off_t gzseek (file, offset, whence) - gzFile file; - off_t offset; - int whence; +off_t gzseek(file, offset, whence) gzFile file; +off_t offset; +int whence; { - gz_stream *s = (gz_stream*)file; - - if (s == - ((void *)0) - || whence == - 2 - || - s->z_err == (-1) || s->z_err == (-3)) { - return -1L; - } - - if (s->mode == 'w') { - + gz_stream *s = (gz_stream *)file; + if (s == ((void *)0) || whence == 2 || s->z_err == (-1) || s->z_err == (-3)) { + return -1L; + } - if (whence == - 0 - ) { - offset -= s->stream.total_in; - } - if (offset < 0) return -1L; - - - if (s->inbuf == 0) { - s->inbuf = (Byte*)malloc(16384); - memset(s->inbuf, 0, 16384); /* { dg-warning "use of possibly-NULL '' where non-null expected" } */ - } - while (offset > 0) { - uInt size = 16384; - if (offset < 16384) size = (uInt)offset; - - size = gzwrite(file, s->inbuf, size); - if (size == 0) return -1L; - - offset -= size; - } - return (off_t)s->stream.total_in; - - } - - - - if (whence == - 1 - ) { - offset += s->stream.total_out; - } - if (offset < 0) return -1L; - - if (s->transparent) { - - s->stream.avail_in = 0; - s->stream.next_in = s->inbuf; - if (fseek(s->file, offset, - 0 - ) < 0) return -1L; - - s->stream.total_in = s->stream.total_out = (uLong)offset; - return offset; - } - + if (s->mode == 'w') { - if ((uLong)offset >= s->stream.total_out) { - offset -= s->stream.total_out; - } else if (gzrewind(file) < 0) { - return -1L; + if (whence == 0) { + offset -= s->stream.total_in; } + if (offset < 0) + return -1L; - - if (offset != 0 && s->outbuf == 0) { - s->outbuf = (Byte*)malloc(16384); + if (s->inbuf == 0) { + s->inbuf = (Byte *)malloc(16384); + memset(s->inbuf, 0, 16384); /* { dg-warning "use of possibly-NULL '' where non-null expected" } */ + /* FIXME: we should print something more precise than "" here. */ } while (offset > 0) { - int size = 16384; - if (offset < 16384) size = (int)offset; - - size = gzread(file, s->outbuf, (uInt)size); - if (size <= 0) return -1L; - offset -= size; - } - return (off_t)s->stream.total_out; -} - + uInt size = 16384; + if (offset < 16384) + size = (uInt)offset; + size = gzwrite(file, s->inbuf, size); + if (size == 0) + return -1L; + offset -= size; + } + return (off_t)s->stream.total_in; + } -int gzrewind (file) - gzFile file; -{ - gz_stream *s = (gz_stream*)file; + if (whence == 1) { + offset += s->stream.total_out; + } + if (offset < 0) + return -1L; - if (s == - ((void *)0) - || s->mode != 'r') return -1; + if (s->transparent) { - s->z_err = 0; - s->z_eof = 0; s->stream.avail_in = 0; s->stream.next_in = s->inbuf; - s->crc = crc32(0L, 0, 0); + if (fseek(s->file, offset, 0) < 0) + return -1L; - if (s->startpos == 0) { - rewind(s->file); - return 0; - } + s->stream.total_in = s->stream.total_out = (uLong)offset; + return offset; + } - (void) inflateReset(&s->stream); - return fseek(s->file, s->startpos, - 0 - ); -} + if ((uLong)offset >= s->stream.total_out) { + offset -= s->stream.total_out; + } else if (gzrewind(file) < 0) { + return -1L; + } + if (offset != 0 && s->outbuf == 0) { + s->outbuf = (Byte *)malloc(16384); + } + while (offset > 0) { + int size = 16384; + if (offset < 16384) + size = (int)offset; + + size = gzread(file, s->outbuf, (uInt)size); + if (size <= 0) + return -1L; + offset -= size; + } + return (off_t)s->stream.total_out; +} +int gzrewind(file) gzFile file; +{ + gz_stream *s = (gz_stream *)file; + if (s == ((void *)0) || s->mode != 'r') + return -1; + s->z_err = 0; + s->z_eof = 0; + s->stream.avail_in = 0; + s->stream.next_in = s->inbuf; + s->crc = crc32(0L, 0, 0); + if (s->startpos == 0) { + rewind(s->file); + return 0; + } -off_t gztell (file) - gzFile file; -{ - return gzseek(file, 0L, - 1 - ); + (void)inflateReset(&s->stream); + return fseek(s->file, s->startpos, 0); } +off_t gztell(file) gzFile file; +{ return gzseek(file, 0L, 1); } - - - -int gzeof (file) - gzFile file; +int gzeof(file) gzFile file; { - gz_stream *s = (gz_stream*)file; + gz_stream *s = (gz_stream *)file; - return (s == - ((void *)0) - || s->mode != 'r') ? 0 : s->z_eof; + return (s == ((void *)0) || s->mode != 'r') ? 0 : s->z_eof; } - - - -static void putLong (file, x) - FILE *file; - uLong x; +static void putLong(file, x) FILE *file; +uLong x; { - int n; - for (n = 0; n < 4; n++) { - fputc((int)(x & 0xff), file); - x >>= 8; - } + int n; + for (n = 0; n < 4; n++) { + fputc((int)(x & 0xff), file); + x >>= 8; + } } - - - - -static uLong getLong (s) - gz_stream *s; +static uLong getLong(s) gz_stream *s; { - uLong x = (uLong)get_byte(s); - int c; + uLong x = (uLong)get_byte(s); + int c; - x += ((uLong)get_byte(s))<<8; - x += ((uLong)get_byte(s))<<16; - c = get_byte(s); - if (c == - (-1) - ) s->z_err = (-3); - x += ((uLong)c)<<24; - return x; + x += ((uLong)get_byte(s)) << 8; + x += ((uLong)get_byte(s)) << 16; + c = get_byte(s); + if (c == (-1)) + s->z_err = (-3); + x += ((uLong)c) << 24; + return x; } - - - - -int gzclose (file) - gzFile file; +int gzclose(file) gzFile file; { - int err; - gz_stream *s = (gz_stream*)file; - - if (s == - ((void *)0) - ) return (-2); - - if (s->mode == 'w') { + int err; + gz_stream *s = (gz_stream *)file; + if (s == ((void *)0)) + return (-2); + if (s->mode == 'w') { - err = do_flush (file, 4); - if (err != 0) return destroy((gz_stream*)file); + err = do_flush(file, 4); + if (err != 0) + return destroy((gz_stream *)file); - putLong (s->file, s->crc); - putLong (s->file, s->stream.total_in); - - } - return destroy((gz_stream*)file); + putLong(s->file, s->crc); + putLong(s->file, s->stream.total_in); + } + return destroy((gz_stream *)file); } -const char* gzerror (file, errnum) - gzFile file; - int *errnum; +const char *gzerror(file, errnum) gzFile file; +int *errnum; { - char *m; - gz_stream *s = (gz_stream*)file; - - if (s == - ((void *)0) - ) { - *errnum = (-2); - return (const char*)z_errmsg[2 -((-2))]; - } - *errnum = s->z_err; - if (*errnum == 0) return (const char*)""; + char *m; + gz_stream *s = (gz_stream *)file; - m = (char*)(*errnum == (-1) ? "" : s->stream.msg); + if (s == ((void *)0)) { + *errnum = (-2); + return (const char *)z_errmsg[2 - ((-2))]; + } + *errnum = s->z_err; + if (*errnum == 0) + return (const char *)""; + + m = (char *)(*errnum == (-1) ? "" : s->stream.msg); - if (m == - ((void *)0) - || *m == '\0') m = (char*)z_errmsg[2 -(s->z_err)]; + if (m == ((void *)0) || *m == '\0') + m = (char *)z_errmsg[2 - (s->z_err)]; - {if (s->msg) free(s->msg);}; - s->msg = (char*)malloc(strlen(s->path) + strlen(m) + 3); - strcpy(s->msg, s->path); /* { dg-warning "use of possibly-NULL '' where non-null expected" } */ - strcat(s->msg, ": "); - strcat(s->msg, m); - return (const char*)s->msg; + { + if (s->msg) + free(s->msg); + }; + s->msg = (char *)malloc(strlen(s->path) + strlen(m) + 3); + strcpy(s->msg, s->path); /* { dg-warning "use of possibly-NULL '' where non-null expected" } */ + /* FIXME: we should print something more precise than "" here. */ + strcat(s->msg, ": "); + strcat(s->msg, m); + return (const char *)s->msg; } -- 1.8.5.3