Fw: Problems with compiling autogen with GCC8 or newer versions
Bruce Korb
bruce.korb@gmail.com
Fri Jan 8 19:38:05 GMT 2021
$ bash cc.sh
+ wrn+=' -Werror=format-overflow'
+ gcc -DHAVE_CONFIG_H -I. -I.. -I../autoopts
-Wno-format-contains-nul -Wall -Werror -Wcast-align
-Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes
-Wwrite-strings -Wstrict-aliasing=3 -Wextra -Wno-cast-qual
-Werror=format-overflow -fno-strict-aliasing -g -O2 -MT gd.o -MD -MP
-MF .deps/gd.Tpo -c -o gd.o gd.c
$ bash cc.sh/(edited to do pre-processing only, to wit:)/
+ gcc -DHAVE_CONFIG_H -I. -I.. -I../autoopts -E -o gd.i gd.c
$ gcc --version
gcc (SUSE Linux) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There
is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
buildPreamble() starts on line 10230.
This is the code that must be confusing to GCC. "def_str" points to the
second character in the 520 byte buffer. "def_scan" points to a
character that we already know we're going to copy into the destination,
so the "spn" function doesn't look at it:
{
char * end = spn_ag_char_map_chars(def_scan + 1, 31);
size_t len = end - def_scan;
if (len >= 256)
goto fail_return;
memcpy(def_str, def_scan, len);
def_str += len;
*def_str = '\0';
def_scan = end;
}
"spn_ag_char_map_chars" skips over characters that are in the 31st
character set. (It's generated.)
If there are too many characters in that set, this code fragment will go
into failure mode.
*IF* this .i file doesn't generate the error, then Thomas' compiler must
be yielding something weird in its preprocessing output. It compiles
just fine with my 7.5.0 compiler.
On 1/8/21 11:01 AM, Jeff Law wrote:
> On 1/8/21 10:39 AM, Bruce Korb via Gcc wrote:
>
> Also, GCC's code analysis is wrong. "name_bf" contains *NO MORE* than
> MAXNAMELEN characters. That is provable.
>
> "def_str" points into a buffer of size ((MAXNAMELEN * 2) + 8) and at
> an offset maximum of MAXNAMELEN+1 (also provable), meaning that at a
> minimum there are MAXNAMELEN+6 bytes left in the buffer.
>
> That objected-to sprintf can add a maximum of MAXNAMELEN + 4 to where
> "def_str" points.
>
> GCC is wrong. It is unable to figure out how far into the buffer
> "def_str" can point.
> Can you get a .i file, command line and file a report. It'd be appreciated.
>
> jeff
>
-------------- next part --------------
# 1 "gd.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "<command-line>" 2
# 1 "gd.c"
# 1 "../config.h" 1
# 6 "gd.c" 2
# 1 "../autoopts/ag-char-map.h" 1
# 34 "../autoopts/ag-char-map.h"
# 1 "/usr/include/inttypes.h" 1 3 4
# 25 "/usr/include/inttypes.h" 3 4
# 1 "/usr/include/features.h" 1 3 4
# 423 "/usr/include/features.h" 3 4
# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 419 "/usr/include/sys/cdefs.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 420 "/usr/include/sys/cdefs.h" 2 3 4
# 1 "/usr/include/bits/long-double.h" 1 3 4
# 421 "/usr/include/sys/cdefs.h" 2 3 4
# 424 "/usr/include/features.h" 2 3 4
# 447 "/usr/include/features.h" 3 4
# 1 "/usr/include/gnu/stubs.h" 1 3 4
# 10 "/usr/include/gnu/stubs.h" 3 4
# 1 "/usr/include/gnu/stubs-64.h" 1 3 4
# 11 "/usr/include/gnu/stubs.h" 2 3 4
# 448 "/usr/include/features.h" 2 3 4
# 26 "/usr/include/inttypes.h" 2 3 4
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stdint.h" 1 3 4
# 9 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stdint.h" 3 4
# 1 "/usr/include/stdint.h" 1 3 4
# 26 "/usr/include/stdint.h" 3 4
# 1 "/usr/include/bits/libc-header-start.h" 1 3 4
# 27 "/usr/include/stdint.h" 2 3 4
# 1 "/usr/include/bits/types.h" 1 3 4
# 27 "/usr/include/bits/types.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 28 "/usr/include/bits/types.h" 2 3 4
# 30 "/usr/include/bits/types.h" 3 4
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;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
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 long int __intmax_t;
typedef unsigned long int __uintmax_t;
# 130 "/usr/include/bits/types.h" 3 4
# 1 "/usr/include/bits/typesizes.h" 1 3 4
# 131 "/usr/include/bits/types.h" 2 3 4
typedef unsigned long int __dev_t;
typedef unsigned int __uid_t;
typedef unsigned int __gid_t;
typedef unsigned long int __ino_t;
typedef unsigned long int __ino64_t;
typedef unsigned int __mode_t;
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 long int __clock_t;
typedef unsigned long int __rlim_t;
typedef unsigned long int __rlim64_t;
typedef unsigned int __id_t;
typedef long int __time_t;
typedef unsigned int __useconds_t;
typedef long int __suseconds_t;
typedef int __daddr_t;
typedef int __key_t;
typedef int __clockid_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;
typedef int __sig_atomic_t;
# 28 "/usr/include/stdint.h" 2 3 4
# 1 "/usr/include/bits/wchar.h" 1 3 4
# 29 "/usr/include/stdint.h" 2 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 30 "/usr/include/stdint.h" 2 3 4
# 1 "/usr/include/bits/stdint-intn.h" 1 3 4
# 24 "/usr/include/bits/stdint-intn.h" 3 4
typedef __int8_t int8_t;
typedef __int16_t int16_t;
typedef __int32_t int32_t;
typedef __int64_t int64_t;
# 35 "/usr/include/stdint.h" 2 3 4
# 1 "/usr/include/bits/stdint-uintn.h" 1 3 4
# 24 "/usr/include/bits/stdint-uintn.h" 3 4
typedef __uint8_t uint8_t;
typedef __uint16_t uint16_t;
typedef __uint32_t uint32_t;
typedef __uint64_t uint64_t;
# 38 "/usr/include/stdint.h" 2 3 4
typedef signed char int_least8_t;
typedef short int int_least16_t;
typedef int int_least32_t;
typedef long int int_least64_t;
typedef unsigned char uint_least8_t;
typedef unsigned short int uint_least16_t;
typedef unsigned int uint_least32_t;
typedef unsigned long int uint_least64_t;
# 68 "/usr/include/stdint.h" 3 4
typedef signed char int_fast8_t;
typedef long int int_fast16_t;
typedef long int int_fast32_t;
typedef long int int_fast64_t;
# 81 "/usr/include/stdint.h" 3 4
typedef unsigned char uint_fast8_t;
typedef unsigned long int uint_fast16_t;
typedef unsigned long int uint_fast32_t;
typedef unsigned long int uint_fast64_t;
# 97 "/usr/include/stdint.h" 3 4
typedef long int intptr_t;
typedef unsigned long int uintptr_t;
# 111 "/usr/include/stdint.h" 3 4
typedef __intmax_t intmax_t;
typedef __uintmax_t uintmax_t;
# 10 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stdint.h" 2 3 4
# 28 "/usr/include/inttypes.h" 2 3 4
typedef int __gwchar_t;
# 266 "/usr/include/inttypes.h" 3 4
typedef struct
{
long int quot;
long int rem;
} imaxdiv_t;
# 290 "/usr/include/inttypes.h" 3 4
extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern intmax_t strtoimax (const char *__restrict __nptr,
char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__));
extern uintmax_t strtoumax (const char *__restrict __nptr,
char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__));
extern intmax_t wcstoimax (const __gwchar_t *__restrict __nptr,
__gwchar_t **__restrict __endptr, int __base)
__attribute__ ((__nothrow__ , __leaf__));
extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr,
__gwchar_t ** __restrict __endptr, int __base)
__attribute__ ((__nothrow__ , __leaf__));
# 432 "/usr/include/inttypes.h" 3 4
# 35 "../autoopts/ag-char-map.h" 2
# 115 "../autoopts/ag-char-map.h"
# 115 "../autoopts/ag-char-map.h"
typedef uint32_t ag_char_map_mask_t;
# 353 "../autoopts/ag-char-map.h"
static ag_char_map_mask_t const ag_char_map_table[128] = {
0x00000002, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000800, 0x00000400, 0x00000001, 0x00000800,
0x00000800, 0x00000800, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000400, 0x02804000, 0x02005000, 0x02004000,
0x02804100, 0x02804008, 0x02804000, 0x02005000,
0x02006000, 0x02006000, 0x02004000, 0x12804080,
0x02004010, 0x06A0C200, 0x06C04000, 0x03804004,
0x08814000, 0x00814000, 0x00814000, 0x00814000,
0x00814000, 0x00814000, 0x00814000, 0x00814000,
0x00824000, 0x00824000, 0x02804020, 0x02004000,
0x02004000, 0x02004000, 0x03004000, 0x02004000,
0x02804000, 0x00944000, 0x00944000, 0x00944000,
0x00944000, 0x00944000, 0x08944000, 0x00904000,
0x00904000, 0x00904000, 0x00904000, 0x00904000,
0x00904000, 0x00904000, 0x08904000, 0x00904000,
0x00904000, 0x00904000, 0x00904000, 0x00904000,
0x00904000, 0x00904000, 0x00904000, 0x00904000,
0x00904000, 0x00904000, 0x00904000, 0x02404000,
0x02004004, 0x02404000, 0x02A04000, 0x04804040,
0x02004000, 0x008C4000, 0x008C4000, 0x008C4000,
0x008C4000, 0x008C4000, 0x088C4000, 0x00884000,
0x00884000, 0x00884000, 0x00884000, 0x00884000,
0x00884000, 0x00884000, 0x08884000, 0x00884000,
0x00884000, 0x00884000, 0x00884000, 0x00884000,
0x00884000, 0x00884000, 0x00884000, 0x00884000,
0x00884000, 0x00884000, 0x00884000, 0x02004000,
0x12804000, 0x02004000, 0x0280C000, 0x00000000
};
# 1 "/usr/include/stdio.h" 1 3 4
# 27 "/usr/include/stdio.h" 3 4
# 1 "/usr/include/bits/libc-header-start.h" 1 3 4
# 28 "/usr/include/stdio.h" 2 3 4
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 1 3 4
# 216 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 3 4
# 216 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 3 4
typedef long unsigned int size_t;
# 34 "/usr/include/stdio.h" 2 3 4
# 1 "/usr/include/bits/types/__FILE.h" 1 3 4
struct _IO_FILE;
typedef struct _IO_FILE __FILE;
# 37 "/usr/include/stdio.h" 2 3 4
# 1 "/usr/include/bits/types/FILE.h" 1 3 4
struct _IO_FILE;
typedef struct _IO_FILE FILE;
# 38 "/usr/include/stdio.h" 2 3 4
# 1 "/usr/include/libio.h" 1 3 4
# 31 "/usr/include/libio.h" 3 4
# 1 "/usr/include/_G_config.h" 1 3 4
# 15 "/usr/include/_G_config.h" 3 4
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 1 3 4
# 16 "/usr/include/_G_config.h" 2 3 4
# 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4
# 13 "/usr/include/bits/types/__mbstate_t.h" 3 4
typedef struct
{
int __count;
union
{
unsigned int __wch;
char __wchb[4];
} __value;
} __mbstate_t;
# 18 "/usr/include/_G_config.h" 2 3 4
typedef struct
{
__off_t __pos;
__mbstate_t __state;
} _G_fpos_t;
typedef struct
{
__off64_t __pos;
__mbstate_t __state;
} _G_fpos64_t;
# 32 "/usr/include/libio.h" 2 3 4
# 49 "/usr/include/libio.h" 3 4
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stdarg.h" 1 3 4
# 40 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stdarg.h" 3 4
typedef __builtin_va_list __gnuc_va_list;
# 50 "/usr/include/libio.h" 2 3 4
# 145 "/usr/include/libio.h" 3 4
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;
# 173 "/usr/include/libio.h" 3 4
};
enum __codecvt_result
{
__codecvt_ok,
__codecvt_partial,
__codecvt_error,
__codecvt_noconv
};
# 241 "/usr/include/libio.h" 3 4
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_save_base;
char *_IO_backup_base;
char *_IO_save_end;
struct _IO_marker *_markers;
struct _IO_FILE *_chain;
int _fileno;
int _flags2;
__off_t _old_offset;
unsigned short _cur_column;
signed char _vtable_offset;
char _shortbuf[1];
_IO_lock_t *_lock;
# 289 "/usr/include/libio.h" 3 4
__off64_t _offset;
void *__pad1;
void *__pad2;
void *__pad3;
void *__pad4;
size_t __pad5;
int _mode;
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_;
# 333 "/usr/include/libio.h" 3 4
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);
typedef __io_read_fn cookie_read_function_t;
typedef __io_write_fn cookie_write_function_t;
typedef __io_seek_fn cookie_seek_function_t;
typedef __io_close_fn cookie_close_function_t;
typedef struct
{
__io_read_fn *read;
__io_write_fn *write;
__io_seek_fn *seek;
__io_close_fn *close;
} _IO_cookie_io_functions_t;
typedef _IO_cookie_io_functions_t cookie_io_functions_t;
struct _IO_cookie_file;
extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
void *__cookie, _IO_cookie_io_functions_t __fns);
extern int __underflow (_IO_FILE *);
extern int __uflow (_IO_FILE *);
extern int __overflow (_IO_FILE *, int);
# 429 "/usr/include/libio.h" 3 4
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__));
# 458 "/usr/include/libio.h" 3 4
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__));
# 42 "/usr/include/stdio.h" 2 3 4
typedef __gnuc_va_list va_list;
# 57 "/usr/include/stdio.h" 3 4
typedef __off_t off_t;
typedef __off64_t off64_t;
typedef __ssize_t ssize_t;
typedef _G_fpos_t fpos_t;
typedef _G_fpos64_t fpos64_t;
# 131 "/usr/include/stdio.h" 3 4
# 1 "/usr/include/bits/stdio_lim.h" 1 3 4
# 132 "/usr/include/stdio.h" 2 3 4
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) ;
# 169 "/usr/include/stdio.h" 3 4
extern FILE *tmpfile64 (void) ;
extern char *tmpnam (char *__s) __attribute__ ((__nothrow__ , __leaf__)) ;
extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__ , __leaf__)) ;
# 190 "/usr/include/stdio.h" 3 4
extern char *tempnam (const char *__dir, const char *__pfx)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) ;
extern int fclose (FILE *__stream);
extern int fflush (FILE *__stream);
# 213 "/usr/include/stdio.h" 3 4
extern int fflush_unlocked (FILE *__stream);
# 223 "/usr/include/stdio.h" 3 4
extern int fcloseall (void);
# 232 "/usr/include/stdio.h" 3 4
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) ;
# 256 "/usr/include/stdio.h" 3 4
extern FILE *fopen64 (const char *__restrict __filename,
const char *__restrict __modes) ;
extern FILE *freopen64 (const char *__restrict __filename,
const char *__restrict __modes,
FILE *__restrict __stream) ;
extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) ;
extern FILE *fopencookie (void *__restrict __magic_cookie,
const char *__restrict __modes,
_IO_cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ , __leaf__)) ;
extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
__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 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 int vasprintf (char **__restrict __ptr, const char *__restrict __f,
__gnuc_va_list __arg)
__attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) ;
extern int __asprintf (char **__restrict __ptr,
const char *__restrict __fmt, ...)
__attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) ;
extern int asprintf (char **__restrict __ptr,
const char *__restrict __fmt, ...)
__attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) ;
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__));
# 420 "/usr/include/stdio.h" 3 4
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)));
# 477 "/usr/include/stdio.h" 3 4
extern int fgetc (FILE *__stream);
extern int getc (FILE *__stream);
extern int getchar (void);
# 495 "/usr/include/stdio.h" 3 4
extern int getc_unlocked (FILE *__stream);
extern int getchar_unlocked (void);
# 506 "/usr/include/stdio.h" 3 4
extern int fgetc_unlocked (FILE *__stream);
# 517 "/usr/include/stdio.h" 3 4
extern int fputc (int __c, FILE *__stream);
extern int putc (int __c, FILE *__stream);
extern int putchar (int __c);
# 537 "/usr/include/stdio.h" 3 4
extern int fputc_unlocked (int __c, 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)
;
# 587 "/usr/include/stdio.h" 3 4
extern char *fgets_unlocked (char *__restrict __s, int __n,
FILE *__restrict __stream) ;
# 603 "/usr/include/stdio.h" 3 4
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 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 size_t fwrite (const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __s);
# 662 "/usr/include/stdio.h" 3 4
extern int fputs_unlocked (const char *__restrict __s,
FILE *__restrict __stream);
# 673 "/usr/include/stdio.h" 3 4
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);
# 707 "/usr/include/stdio.h" 3 4
extern int fseeko (FILE *__stream, __off_t __off, int __whence);
extern __off_t ftello (FILE *__stream) ;
# 731 "/usr/include/stdio.h" 3 4
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
extern int fsetpos (FILE *__stream, const fpos_t *__pos);
# 750 "/usr/include/stdio.h" 3 4
extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
extern __off64_t ftello64 (FILE *__stream) ;
extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
extern int fsetpos64 (FILE *__stream, const fpos64_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);
# 1 "/usr/include/bits/sys_errlist.h" 1 3 4
# 26 "/usr/include/bits/sys_errlist.h" 3 4
extern int sys_nerr;
extern const char *const sys_errlist[];
extern int _sys_nerr;
extern const char *const _sys_errlist[];
# 782 "/usr/include/stdio.h" 2 3 4
extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
# 800 "/usr/include/stdio.h" 3 4
extern FILE *popen (const char *__command, const char *__modes) ;
extern int pclose (FILE *__stream);
extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__));
extern char *cuserid (char *__s);
struct obstack;
extern int obstack_printf (struct obstack *__restrict __obstack,
const char *__restrict __format, ...)
__attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3)));
extern int obstack_vprintf (struct obstack *__restrict __obstack,
const char *__restrict __format,
__gnuc_va_list __args)
__attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0)));
extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
# 868 "/usr/include/stdio.h" 3 4
# 389 "../autoopts/ag-char-map.h" 2
# 1 "/usr/include/stdlib.h" 1 3 4
# 25 "/usr/include/stdlib.h" 3 4
# 1 "/usr/include/bits/libc-header-start.h" 1 3 4
# 26 "/usr/include/stdlib.h" 2 3 4
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 1 3 4
# 328 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 3 4
typedef int wchar_t;
# 32 "/usr/include/stdlib.h" 2 3 4
# 1 "/usr/include/bits/waitflags.h" 1 3 4
# 40 "/usr/include/stdlib.h" 2 3 4
# 1 "/usr/include/bits/waitstatus.h" 1 3 4
# 41 "/usr/include/stdlib.h" 2 3 4
# 55 "/usr/include/stdlib.h" 3 4
# 1 "/usr/include/bits/floatn.h" 1 3 4
# 56 "/usr/include/stdlib.h" 2 3 4
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;
# 97 "/usr/include/stdlib.h" 3 4
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 _Float128 strtof128 (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 int strfromd (char *__dest, size_t __size, const char *__format,
double __f)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3)));
extern int strfromf (char *__dest, size_t __size, const char *__format,
float __f)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3)));
extern int strfroml (char *__dest, size_t __size, const char *__format,
long double __f)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3)));
extern int strfromf128 (char *__dest, size_t __size, const char * __format,
_Float128 __f)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3)));
# 1 "/usr/include/bits/types/locale_t.h" 1 3 4
# 22 "/usr/include/bits/types/locale_t.h" 3 4
# 1 "/usr/include/bits/types/__locale_t.h" 1 3 4
# 28 "/usr/include/bits/types/__locale_t.h" 3 4
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];
};
typedef struct __locale_struct *__locale_t;
# 23 "/usr/include/bits/types/locale_t.h" 2 3 4
typedef __locale_t locale_t;
# 200 "/usr/include/stdlib.h" 2 3 4
extern long int strtol_l (const char *__restrict __nptr,
char **__restrict __endptr, int __base,
locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4)));
extern unsigned long int strtoul_l (const char *__restrict __nptr,
char **__restrict __endptr,
int __base, locale_t __loc)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4)));
__extension__
extern long long int strtoll_l (const char *__restrict __nptr,
char **__restrict __endptr, int __base,
locale_t __loc)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4)));
__extension__
extern unsigned long long int strtoull_l (const char *__restrict __nptr,
char **__restrict __endptr,
int __base, locale_t __loc)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4)));
extern double strtod_l (const char *__restrict __nptr,
char **__restrict __endptr, locale_t __loc)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3)));
extern float strtof_l (const char *__restrict __nptr,
char **__restrict __endptr, locale_t __loc)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3)));
extern long double strtold_l (const char *__restrict __nptr,
char **__restrict __endptr,
locale_t __loc)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3)));
extern _Float128 strtof128_l (const char *__restrict __nptr,
char **__restrict __endptr,
locale_t __loc)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3)));
# 270 "/usr/include/stdlib.h" 3 4
extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) ;
extern long int a64l (const char *__s)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
# 1 "../autoopts/sys/types.h" 1 3 4
# 20 "../autoopts/sys/types.h" 3 4
# 21 "../autoopts/sys/types.h" 3
# 39 "../autoopts/sys/types.h" 3
# 1 "/usr/include/sys/types.h" 1 3 4
# 27 "/usr/include/sys/types.h" 3 4
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 __ino64_t ino64_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;
# 98 "/usr/include/sys/types.h" 3 4
typedef __pid_t pid_t;
typedef __id_t id_t;
# 115 "/usr/include/sys/types.h" 3 4
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
# 1 "/usr/include/bits/types/clock_t.h" 1 3 4
typedef __clock_t clock_t;
# 128 "/usr/include/sys/types.h" 2 3 4
# 1 "/usr/include/bits/types/clockid_t.h" 1 3 4
typedef __clockid_t clockid_t;
# 130 "/usr/include/sys/types.h" 2 3 4
# 1 "/usr/include/bits/types/time_t.h" 1 3 4
typedef __time_t time_t;
# 131 "/usr/include/sys/types.h" 2 3 4
# 1 "/usr/include/bits/types/timer_t.h" 1 3 4
typedef __timer_t timer_t;
# 132 "/usr/include/sys/types.h" 2 3 4
typedef __useconds_t useconds_t;
typedef __suseconds_t suseconds_t;
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 1 3 4
# 146 "/usr/include/sys/types.h" 2 3 4
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 178 "/usr/include/sys/types.h" 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__)));
typedef int register_t __attribute__ ((__mode__ (__word__)));
# 194 "/usr/include/sys/types.h" 3 4
# 1 "/usr/include/endian.h" 1 3 4
# 36 "/usr/include/endian.h" 3 4
# 1 "/usr/include/bits/endian.h" 1 3 4
# 37 "/usr/include/endian.h" 2 3 4
# 60 "/usr/include/endian.h" 3 4
# 1 "/usr/include/bits/byteswap.h" 1 3 4
# 28 "/usr/include/bits/byteswap.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 29 "/usr/include/bits/byteswap.h" 2 3 4
# 1 "/usr/include/bits/byteswap-16.h" 1 3 4
# 36 "/usr/include/bits/byteswap.h" 2 3 4
# 44 "/usr/include/bits/byteswap.h" 3 4
static __inline unsigned int
__bswap_32 (unsigned int __bsx)
{
return __builtin_bswap32 (__bsx);
}
# 108 "/usr/include/bits/byteswap.h" 3 4
static __inline __uint64_t
__bswap_64 (__uint64_t __bsx)
{
return __builtin_bswap64 (__bsx);
}
# 61 "/usr/include/endian.h" 2 3 4
# 1 "/usr/include/bits/uintn-identity.h" 1 3 4
# 32 "/usr/include/bits/uintn-identity.h" 3 4
static __inline __uint16_t
__uint16_identity (__uint16_t __x)
{
return __x;
}
static __inline __uint32_t
__uint32_identity (__uint32_t __x)
{
return __x;
}
static __inline __uint64_t
__uint64_identity (__uint64_t __x)
{
return __x;
}
# 62 "/usr/include/endian.h" 2 3 4
# 195 "/usr/include/sys/types.h" 2 3 4
# 1 "../autoopts/sys/select.h" 1 3 4
# 19 "../autoopts/sys/select.h" 3 4
# 20 "../autoopts/sys/select.h" 3
# 77 "../autoopts/sys/select.h" 3
# 1 "../autoopts/sys/types.h" 1 3
# 20 "../autoopts/sys/types.h" 3
# 21 "../autoopts/sys/types.h" 3
# 39 "../autoopts/sys/types.h" 3
# 1 "/usr/include/sys/types.h" 1 3 4
# 40 "../autoopts/sys/types.h" 2 3
# 78 "../autoopts/sys/select.h" 2 3
# 100 "../autoopts/sys/select.h" 3
# 1 "/usr/include/sys/select.h" 1 3 4
# 30 "/usr/include/sys/select.h" 3 4
# 1 "/usr/include/bits/select.h" 1 3 4
# 22 "/usr/include/bits/select.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 23 "/usr/include/bits/select.h" 2 3 4
# 31 "/usr/include/sys/select.h" 2 3 4
# 1 "/usr/include/bits/types/sigset_t.h" 1 3 4
# 1 "/usr/include/bits/types/__sigset_t.h" 1 3 4
typedef struct
{
unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
} __sigset_t;
# 5 "/usr/include/bits/types/sigset_t.h" 2 3 4
typedef __sigset_t sigset_t;
# 34 "/usr/include/sys/select.h" 2 3 4
# 1 "/usr/include/bits/types/struct_timeval.h" 1 3 4
struct timeval
{
__time_t tv_sec;
__suseconds_t tv_usec;
};
# 38 "/usr/include/sys/select.h" 2 3 4
# 1 "/usr/include/bits/types/struct_timespec.h" 1 3 4
struct timespec
{
__time_t tv_sec;
__syscall_slong_t tv_nsec;
};
# 40 "/usr/include/sys/select.h" 2 3 4
# 49 "/usr/include/sys/select.h" 3 4
typedef long int __fd_mask;
# 59 "/usr/include/sys/select.h" 3 4
typedef struct
{
__fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
} fd_set;
typedef __fd_mask fd_mask;
# 91 "/usr/include/sys/select.h" 3 4
# 101 "/usr/include/sys/select.h" 3 4
extern int select (int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds,
struct timeval *__restrict __timeout);
# 113 "/usr/include/sys/select.h" 3 4
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);
# 126 "/usr/include/sys/select.h" 3 4
# 101 "../autoopts/sys/select.h" 2 3
# 198 "/usr/include/sys/types.h" 2 3 4
# 1 "/usr/include/sys/sysmacros.h" 1 3 4
# 41 "/usr/include/sys/sysmacros.h" 3 4
# 1 "/usr/include/bits/sysmacros.h" 1 3 4
# 42 "/usr/include/sys/sysmacros.h" 2 3 4
# 71 "/usr/include/sys/sysmacros.h" 3 4
extern unsigned int gnu_dev_major (__dev_t __dev) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern unsigned int gnu_dev_minor (__dev_t __dev) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern __dev_t gnu_dev_makedev (unsigned int __major, unsigned int __minor) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
# 85 "/usr/include/sys/sysmacros.h" 3 4
# 206 "/usr/include/sys/types.h" 2 3 4
typedef __blksize_t blksize_t;
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
# 246 "/usr/include/sys/types.h" 3 4
typedef __blkcnt64_t blkcnt64_t;
typedef __fsblkcnt64_t fsblkcnt64_t;
typedef __fsfilcnt64_t fsfilcnt64_t;
# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
# 23 "/usr/include/bits/pthreadtypes.h" 3 4
# 1 "/usr/include/bits/thread-shared-types.h" 1 3 4
# 58 "/usr/include/bits/thread-shared-types.h" 3 4
# 1 "/usr/include/bits/pthreadtypes-arch.h" 1 3 4
# 21 "/usr/include/bits/pthreadtypes-arch.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 22 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4
# 58 "/usr/include/bits/pthreadtypes-arch.h" 3 4
struct __pthread_rwlock_arch_t
{
unsigned int __readers;
unsigned int __writers;
unsigned int __wrphase_futex;
unsigned int __writers_futex;
unsigned int __pad3;
unsigned int __pad4;
int __cur_writer;
int __shared;
signed char __rwelision;
unsigned char __pad1[7];
unsigned long int __pad2;
unsigned int __flags;
# 92 "/usr/include/bits/pthreadtypes-arch.h" 3 4
};
# 59 "/usr/include/bits/thread-shared-types.h" 2 3 4
typedef struct __pthread_internal_list
{
struct __pthread_internal_list *__prev;
struct __pthread_internal_list *__next;
} __pthread_list_t;
# 99 "/usr/include/bits/thread-shared-types.h" 3 4
struct __pthread_mutex_s
{
int __lock ;
unsigned int __count;
int __owner;
unsigned int __nusers;
# 129 "/usr/include/bits/thread-shared-types.h" 3 4
int __kind;
short __spins; short __elision;
__pthread_list_t __list;
# 143 "/usr/include/bits/thread-shared-types.h" 3 4
};
struct __pthread_cond_s
{
__extension__ union
{
__extension__ unsigned long long int __wseq;
struct
{
unsigned int __low;
unsigned int __high;
} __wseq32;
};
__extension__ union
{
__extension__ unsigned long long int __g1_start;
struct
{
unsigned int __low;
unsigned int __high;
} __g1_start32;
};
unsigned int __g_refs[2] ;
unsigned int __g_size[2];
unsigned int __g1_orig_size;
unsigned int __wrefs;
unsigned int __g_signals[2];
};
# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4
typedef unsigned long int pthread_t;
typedef union
{
char __size[4];
int __align;
} pthread_mutexattr_t;
typedef union
{
char __size[4];
int __align;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef int pthread_once_t;
union pthread_attr_t
{
char __size[56];
long int __align;
};
typedef union pthread_attr_t pthread_attr_t;
typedef union
{
struct __pthread_mutex_s __data;
char __size[40];
long int __align;
} pthread_mutex_t;
typedef union
{
struct __pthread_cond_s __data;
char __size[48];
__extension__ long long int __align;
} pthread_cond_t;
typedef union
{
struct __pthread_rwlock_arch_t __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;
# 255 "/usr/include/sys/types.h" 2 3 4
# 40 "../autoopts/sys/types.h" 2 3
# 280 "/usr/include/stdlib.h" 2 3 4
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 *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) ;
extern void *calloc (size_t __nmemb, size_t __size)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) ;
extern void *realloc (void *__ptr, size_t __size)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__));
# 1 "../autoopts/alloca.h" 1 3 4
# 452 "/usr/include/stdlib.h" 2 3 4
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 char *secure_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__));
# 557 "/usr/include/stdlib.h" 3 4
extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
# 570 "/usr/include/stdlib.h" 3 4
extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
# 580 "/usr/include/stdlib.h" 3 4
extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ;
# 592 "/usr/include/stdlib.h" 3 4
extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ;
# 602 "/usr/include/stdlib.h" 3 4
extern int mkstemps64 (char *__template, int __suffixlen)
__attribute__ ((__nonnull__ (1))) ;
# 613 "/usr/include/stdlib.h" 3 4
extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
# 624 "/usr/include/stdlib.h" 3 4
extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ;
# 634 "/usr/include/stdlib.h" 3 4
extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ;
# 644 "/usr/include/stdlib.h" 3 4
extern int mkostemps (char *__template, int __suffixlen, int __flags)
__attribute__ ((__nonnull__ (1))) ;
# 656 "/usr/include/stdlib.h" 3 4
extern int mkostemps64 (char *__template, int __suffixlen, int __flags)
__attribute__ ((__nonnull__ (1))) ;
# 666 "/usr/include/stdlib.h" 3 4
extern int system (const char *__command) ;
extern char *canonicalize_file_name (const char *__name)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
# 682 "/usr/include/stdlib.h" 3 4
extern char *realpath (const char *__restrict __name,
char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) ;
typedef int (*__compar_fn_t) (const void *, const void *);
typedef __compar_fn_t comparison_fn_t;
typedef int (*__compar_d_fn_t) (const void *, const void *, 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 void qsort (void *__base, size_t __nmemb, size_t __size,
__compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
__compar_d_fn_t __compar, void *__arg)
__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__)) ;
# 754 "/usr/include/stdlib.h" 3 4
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))) ;
# 839 "/usr/include/stdlib.h" 3 4
extern int getsubopt (char **__restrict __optionp,
char *const *__restrict __tokens,
char **__restrict __valuep)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) ;
extern void setkey (const char *__key) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int posix_openpt (int __oflag) ;
extern int grantpt (int __fd) __attribute__ ((__nothrow__ , __leaf__));
extern int unlockpt (int __fd) __attribute__ ((__nothrow__ , __leaf__));
extern char *ptsname (int __fd) __attribute__ ((__nothrow__ , __leaf__)) ;
extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
extern int getpt (void);
extern int getloadavg (double __loadavg[], int __nelem)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
# 901 "/usr/include/stdlib.h" 3 4
# 1 "/usr/include/bits/stdlib-float.h" 1 3 4
# 902 "/usr/include/stdlib.h" 2 3 4
# 911 "/usr/include/stdlib.h" 3 4
# 390 "../autoopts/ag-char-map.h" 2
# 1 "/usr/include/string.h" 1 3 4
# 26 "/usr/include/string.h" 3 4
# 1 "/usr/include/bits/libc-header-start.h" 1 3 4
# 27 "/usr/include/string.h" 2 3 4
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 1 3 4
# 34 "/usr/include/string.h" 2 3 4
# 42 "/usr/include/string.h" 3 4
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)));
# 90 "/usr/include/string.h" 3 4
extern void *memchr (const void *__s, int __c, size_t __n)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
# 103 "/usr/include/string.h" 3 4
extern void *rawmemchr (const void *__s, int __c)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
# 114 "/usr/include/string.h" 3 4
extern void *memrchr (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)));
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)));
# 225 "/usr/include/string.h" 3 4
extern char *strchr (const char *__s, int __c)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
# 252 "/usr/include/string.h" 3 4
extern char *strrchr (const char *__s, int __c)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
# 265 "/usr/include/string.h" 3 4
extern char *strchrnul (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)));
# 302 "/usr/include/string.h" 3 4
extern char *strpbrk (const char *__s, const char *__accept)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
# 329 "/usr/include/string.h" 3 4
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)));
# 359 "/usr/include/string.h" 3 4
extern char *strcasestr (const char *__haystack, const char *__needle)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern void *memmem (const void *__haystack, size_t __haystacklen,
const void *__needle, size_t __needlelen)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3)));
extern void *__mempcpy (void *__restrict __dest,
const void *__restrict __src, size_t __n)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern void *mempcpy (void *__restrict __dest,
const void *__restrict __src, size_t __n)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
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__));
# 420 "/usr/include/string.h" 3 4
extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) ;
extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__));
# 1 "/usr/include/strings.h" 1 3 4
# 23 "/usr/include/strings.h" 3 4
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 1 3 4
# 24 "/usr/include/strings.h" 2 3 4
extern int bcmp (const void *__s1, const void *__s2, size_t __n)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
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)));
# 68 "/usr/include/strings.h" 3 4
extern char *index (const char *__s, int __c)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
# 96 "/usr/include/strings.h" 3 4
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 ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__ extern int ffsll (long long int __ll)
__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 int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
extern int strncasecmp_l (const char *__s1, const char *__s2,
size_t __n, locale_t __loc)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4)));
# 432 "/usr/include/string.h" 2 3 4
extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
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 int strverscmp (const char *__s1, const char *__s2)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *strfry (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern void *memfrob (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
# 486 "/usr/include/string.h" 3 4
extern char *basename (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
# 498 "/usr/include/string.h" 3 4
# 391 "../autoopts/ag-char-map.h" 2
# 396 "../autoopts/ag-char-map.h"
static unsigned char const * ag_char_map_spanners[47];
static ag_char_map_mask_t const ag_char_map_masks[47] = {
0x00000001,
0x00000002,
0x00000004,
0x00000008,
0x00000010,
0x00000020,
0x00000040,
0x00000080,
0x00000100,
0x00000200,
0x00000400,
0x00000800,
0x00000C01,
0x00000C00,
0x00001000,
0x00002000,
0x00004000,
0x00008000,
0x00010000,
0x00030000,
0x00070000,
0x00080000,
0x00100000,
0x00180000,
0x001B0000,
0x00180040,
0x001B0040,
0x003B0040,
0x003B0060,
0x00400000,
0x007B0460,
0x005B0040,
0x00003000,
0x00800000,
0x01000C01,
0x00000C81,
0x02000000,
0x041B0000,
0x041B000C,
0x08000002,
0x041B0004,
0x00000C03,
0x00000C13,
0x10000C13,
0x00038000,
0x00000101,
0x00000600,
};
static unsigned char const *
calc_ag_char_map_spanners(unsigned int mask_ix)
{
{
int ix = 1;
ag_char_map_mask_t mask = ag_char_map_masks[mask_ix];
unsigned char * res = malloc(256 );
if (res ==
# 467 "../autoopts/ag-char-map.h" 3 4
((void *)0)
# 467 "../autoopts/ag-char-map.h"
) {
fputs("no memory for char-mapper span map\n",
# 468 "../autoopts/ag-char-map.h" 3 4
stderr
# 468 "../autoopts/ag-char-map.h"
);
exit(
# 469 "../autoopts/ag-char-map.h" 3 4
1
# 469 "../autoopts/ag-char-map.h"
);
}
memset(res, 0, 256);
for (; ix < 128; ix++)
if (ag_char_map_table[ix] & mask)
res[ix] = 1;
ag_char_map_spanners[mask_ix] = res;
}
return ag_char_map_spanners[mask_ix];
}
static inline int
is_ag_char_map_char(char ch, ag_char_map_mask_t mask)
{
unsigned int ix = (unsigned char)ch;
return ((ix < 128) && ((ag_char_map_table[ix] & mask) != 0));
}
static inline char *
spn_ag_char_map_chars(char const * p, unsigned int mask_ix)
{
unsigned char const * v = ag_char_map_spanners[mask_ix];
if (v ==
# 496 "../autoopts/ag-char-map.h" 3 4
((void *)0)
# 496 "../autoopts/ag-char-map.h"
)
v = calc_ag_char_map_spanners(mask_ix);
while (v[(unsigned char)*p]) p++;
return (char *)(uintptr_t)p;
}
static inline char *
brk_ag_char_map_chars(char const * p, unsigned int mask_ix)
{
unsigned char const * v = ag_char_map_spanners[mask_ix];
if (v ==
# 506 "../autoopts/ag-char-map.h" 3 4
((void *)0)
# 506 "../autoopts/ag-char-map.h"
)
v = calc_ag_char_map_spanners(mask_ix);
while ((*p != '\0') && (! v[(unsigned char)*p])) p++;
return (char *)(uintptr_t)p;
}
static inline char *
spn_ag_char_map_back(char const * s, char const * e, unsigned int mask_ix)
{
unsigned char const * v = ag_char_map_spanners[mask_ix];
if (v ==
# 516 "../autoopts/ag-char-map.h" 3 4
((void *)0)
# 516 "../autoopts/ag-char-map.h"
)
v = calc_ag_char_map_spanners(mask_ix);
if (s >= e) e = s + strlen(s);
while ((e > s) && v[(unsigned char)e[-1]]) e--;
return (char *)(uintptr_t)e;
}
static inline char *
brk_ag_char_map_back(char const * s, char const * e, unsigned int mask_ix)
{
unsigned char const * v = ag_char_map_spanners[mask_ix];
if (v ==
# 527 "../autoopts/ag-char-map.h" 3 4
((void *)0)
# 527 "../autoopts/ag-char-map.h"
)
v = calc_ag_char_map_spanners(mask_ix);
if (s == e) e += strlen(e);
while ((e > s) && (! v[(unsigned char)e[-1]])) e--;
return (char *)(uintptr_t)e;
}
# 7 "gd.c" 2
# 1 "../autoopts/project.h" 1
# 30 "../autoopts/project.h"
# 1 "../compat/compat.h" 1
# 58 "../compat/compat.h"
# 1 "../autoopts/sys/types.h" 1
# 20 "../autoopts/sys/types.h"
# 21 "../autoopts/sys/types.h" 3
# 59 "../compat/compat.h" 2
# 1 "/usr/include/sys/mman.h" 1 3 4
# 25 "/usr/include/sys/mman.h" 3 4
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 1 3 4
# 26 "/usr/include/sys/mman.h" 2 3 4
# 41 "/usr/include/sys/mman.h" 3 4
# 1 "/usr/include/bits/mman.h" 1 3 4
# 47 "/usr/include/bits/mman.h" 3 4
# 1 "/usr/include/bits/mman-linux.h" 1 3 4
# 47 "/usr/include/bits/mman.h" 2 3 4
# 42 "/usr/include/sys/mman.h" 2 3 4
# 57 "/usr/include/sys/mman.h" 3 4
# 57 "/usr/include/sys/mman.h" 3 4
extern void *mmap (void *__addr, size_t __len, int __prot,
int __flags, int __fd, __off_t __offset) __attribute__ ((__nothrow__ , __leaf__));
# 70 "/usr/include/sys/mman.h" 3 4
extern void *mmap64 (void *__addr, size_t __len, int __prot,
int __flags, int __fd, __off64_t __offset) __attribute__ ((__nothrow__ , __leaf__));
extern int munmap (void *__addr, size_t __len) __attribute__ ((__nothrow__ , __leaf__));
extern int mprotect (void *__addr, size_t __len, int __prot) __attribute__ ((__nothrow__ , __leaf__));
extern int msync (void *__addr, size_t __len, int __flags);
extern int madvise (void *__addr, size_t __len, int __advice) __attribute__ ((__nothrow__ , __leaf__));
extern int posix_madvise (void *__addr, size_t __len, int __advice) __attribute__ ((__nothrow__ , __leaf__));
extern int mlock (const void *__addr, size_t __len) __attribute__ ((__nothrow__ , __leaf__));
extern int munlock (const void *__addr, size_t __len) __attribute__ ((__nothrow__ , __leaf__));
extern int mlockall (int __flags) __attribute__ ((__nothrow__ , __leaf__));
extern int munlockall (void) __attribute__ ((__nothrow__ , __leaf__));
extern int mincore (void *__start, size_t __len, unsigned char *__vec)
__attribute__ ((__nothrow__ , __leaf__));
# 133 "/usr/include/sys/mman.h" 3 4
extern void *mremap (void *__addr, size_t __old_len, size_t __new_len,
int __flags, ...) __attribute__ ((__nothrow__ , __leaf__));
extern int remap_file_pages (void *__start, size_t __size, int __prot,
size_t __pgoff, int __flags) __attribute__ ((__nothrow__ , __leaf__));
extern int shm_open (const char *__name, int __oflag, mode_t __mode);
extern int shm_unlink (const char *__name);
# 61 "../compat/compat.h" 2
# 1 "/usr/include/sys/param.h" 1 3 4
# 23 "/usr/include/sys/param.h" 3 4
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 1 3 4
# 24 "/usr/include/sys/param.h" 2 3 4
# 1 "../autoopts/sys/types.h" 1 3 4
# 20 "../autoopts/sys/types.h" 3 4
# 21 "../autoopts/sys/types.h" 3
# 26 "/usr/include/sys/param.h" 2 3 4
# 1 "../autoopts/limits.h" 1 3 4
# 20 "../autoopts/limits.h" 3 4
# 21 "../autoopts/limits.h" 3
# 41 "../autoopts/limits.h" 3
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include-fixed/limits.h" 1 3 4
# 34 "/usr/lib64/gcc/x86_64-suse-linux/7/include-fixed/limits.h" 3 4
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include-fixed/syslimits.h" 1 3 4
# 1 "../autoopts/limits.h" 1 3 4
# 20 "../autoopts/limits.h" 3 4
# 21 "../autoopts/limits.h" 3
# 31 "../autoopts/limits.h" 3
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include-fixed/limits.h" 1 3 4
# 194 "/usr/lib64/gcc/x86_64-suse-linux/7/include-fixed/limits.h" 3 4
# 1 "/usr/include/limits.h" 1 3 4
# 26 "/usr/include/limits.h" 3 4
# 1 "/usr/include/bits/libc-header-start.h" 1 3 4
# 27 "/usr/include/limits.h" 2 3 4
# 183 "/usr/include/limits.h" 3 4
# 1 "/usr/include/bits/posix1_lim.h" 1 3 4
# 160 "/usr/include/bits/posix1_lim.h" 3 4
# 1 "/usr/include/bits/local_lim.h" 1 3 4
# 38 "/usr/include/bits/local_lim.h" 3 4
# 1 "/usr/include/linux/limits.h" 1 3 4
# 39 "/usr/include/bits/local_lim.h" 2 3 4
# 161 "/usr/include/bits/posix1_lim.h" 2 3 4
# 184 "/usr/include/limits.h" 2 3 4
# 1 "/usr/include/bits/posix2_lim.h" 1 3 4
# 188 "/usr/include/limits.h" 2 3 4
# 1 "/usr/include/bits/xopen_lim.h" 1 3 4
# 64 "/usr/include/bits/xopen_lim.h" 3 4
# 1 "/usr/include/bits/uio_lim.h" 1 3 4
# 65 "/usr/include/bits/xopen_lim.h" 2 3 4
# 192 "/usr/include/limits.h" 2 3 4
# 195 "/usr/lib64/gcc/x86_64-suse-linux/7/include-fixed/limits.h" 2 3 4
# 32 "../autoopts/limits.h" 2 3
# 8 "/usr/lib64/gcc/x86_64-suse-linux/7/include-fixed/syslimits.h" 2 3 4
# 35 "/usr/lib64/gcc/x86_64-suse-linux/7/include-fixed/limits.h" 2 3 4
# 42 "../autoopts/limits.h" 2 3
# 27 "/usr/include/sys/param.h" 2 3 4
# 1 "../autoopts/signal.h" 1 3 4
# 20 "../autoopts/signal.h" 3 4
# 21 "../autoopts/signal.h" 3
# 49 "../autoopts/signal.h" 3
# 1 "../autoopts/sys/types.h" 1 3
# 20 "../autoopts/sys/types.h" 3
# 21 "../autoopts/sys/types.h" 3
# 50 "../autoopts/signal.h" 2 3
# 1 "/usr/include/signal.h" 1 3 4
# 27 "/usr/include/signal.h" 3 4
# 1 "/usr/include/bits/signum.h" 1 3 4
# 26 "/usr/include/bits/signum.h" 3 4
# 1 "/usr/include/bits/signum-generic.h" 1 3 4
# 27 "/usr/include/bits/signum.h" 2 3 4
# 31 "/usr/include/signal.h" 2 3 4
# 1 "/usr/include/bits/types/sig_atomic_t.h" 1 3 4
typedef __sig_atomic_t sig_atomic_t;
# 33 "/usr/include/signal.h" 2 3 4
# 57 "/usr/include/signal.h" 3 4
# 1 "/usr/include/bits/types/siginfo_t.h" 1 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 5 "/usr/include/bits/types/siginfo_t.h" 2 3 4
# 1 "/usr/include/bits/types/sigval_t.h" 1 3 4
union sigval
{
int sival_int;
void *sival_ptr;
};
typedef union sigval sigval_t;
# 7 "/usr/include/bits/types/siginfo_t.h" 2 3 4
# 16 "/usr/include/bits/types/siginfo_t.h" 3 4
# 1 "/usr/include/bits/siginfo-arch.h" 1 3 4
# 17 "/usr/include/bits/types/siginfo_t.h" 2 3 4
# 36 "/usr/include/bits/types/siginfo_t.h" 3 4
typedef struct
{
int si_signo;
int si_errno;
int si_code;
int __pad0;
union
{
int _pad[((128 / sizeof (int)) - 4)];
struct
{
__pid_t si_pid;
__uid_t si_uid;
} _kill;
struct
{
int si_tid;
int si_overrun;
sigval_t si_sigval;
} _timer;
struct
{
__pid_t si_pid;
__uid_t si_uid;
sigval_t si_sigval;
} _rt;
struct
{
__pid_t si_pid;
__uid_t si_uid;
int si_status;
__clock_t si_utime;
__clock_t si_stime;
} _sigchld;
struct
{
void *si_addr;
short int si_addr_lsb;
union
{
struct
{
void *_lower;
void *_upper;
} _addr_bnd;
__uint32_t _pkey;
} _bounds;
} _sigfault;
struct
{
long int si_band;
int si_fd;
} _sigpoll;
struct
{
void *_call_addr;
int _syscall;
unsigned int _arch;
} _sigsys;
} _sifields;
} siginfo_t ;
# 58 "/usr/include/signal.h" 2 3 4
# 1 "/usr/include/bits/siginfo-consts.h" 1 3 4
# 35 "/usr/include/bits/siginfo-consts.h" 3 4
enum
{
SI_ASYNCNL = -60,
SI_TKILL = -6,
SI_SIGIO,
SI_ASYNCIO,
SI_MESGQ,
SI_TIMER,
SI_QUEUE,
SI_USER,
SI_KERNEL = 0x80
# 63 "/usr/include/bits/siginfo-consts.h" 3 4
};
enum
{
ILL_ILLOPC = 1,
ILL_ILLOPN,
ILL_ILLADR,
ILL_ILLTRP,
ILL_PRVOPC,
ILL_PRVREG,
ILL_COPROC,
ILL_BADSTK
};
enum
{
FPE_INTDIV = 1,
FPE_INTOVF,
FPE_FLTDIV,
FPE_FLTOVF,
FPE_FLTUND,
FPE_FLTRES,
FPE_FLTINV,
FPE_FLTSUB
};
enum
{
SEGV_MAPERR = 1,
SEGV_ACCERR
};
enum
{
BUS_ADRALN = 1,
BUS_ADRERR,
BUS_OBJERR,
BUS_MCEERR_AR,
BUS_MCEERR_AO
};
enum
{
TRAP_BRKPT = 1,
TRAP_TRACE
};
enum
{
CLD_EXITED = 1,
CLD_KILLED,
CLD_DUMPED,
CLD_TRAPPED,
CLD_STOPPED,
CLD_CONTINUED
};
enum
{
POLL_IN = 1,
POLL_OUT,
POLL_MSG,
POLL_ERR,
POLL_PRI,
POLL_HUP
};
# 1 "/usr/include/bits/siginfo-consts-arch.h" 1 3 4
# 185 "/usr/include/bits/siginfo-consts.h" 2 3 4
# 59 "/usr/include/signal.h" 2 3 4
# 1 "/usr/include/bits/types/sigevent_t.h" 1 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 5 "/usr/include/bits/types/sigevent_t.h" 2 3 4
# 22 "/usr/include/bits/types/sigevent_t.h" 3 4
typedef struct sigevent
{
sigval_t sigev_value;
int sigev_signo;
int sigev_notify;
union
{
int _pad[((64 / sizeof (int)) - 4)];
__pid_t _tid;
struct
{
void (*_function) (sigval_t);
pthread_attr_t *_attribute;
} _sigev_thread;
} _sigev_un;
} sigevent_t;
# 63 "/usr/include/signal.h" 2 3 4
# 1 "/usr/include/bits/sigevent-consts.h" 1 3 4
# 27 "/usr/include/bits/sigevent-consts.h" 3 4
enum
{
SIGEV_SIGNAL = 0,
SIGEV_NONE,
SIGEV_THREAD,
SIGEV_THREAD_ID = 4
};
# 64 "/usr/include/signal.h" 2 3 4
typedef void (*__sighandler_t) (int);
extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler)
__attribute__ ((__nothrow__ , __leaf__));
extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler)
__attribute__ ((__nothrow__ , __leaf__));
extern __sighandler_t signal (int __sig, __sighandler_t __handler)
__attribute__ ((__nothrow__ , __leaf__));
# 108 "/usr/include/signal.h" 3 4
extern int kill (__pid_t __pid, int __sig) __attribute__ ((__nothrow__ , __leaf__));
extern int killpg (__pid_t __pgrp, int __sig) __attribute__ ((__nothrow__ , __leaf__));
extern int raise (int __sig) __attribute__ ((__nothrow__ , __leaf__));
extern __sighandler_t ssignal (int __sig, __sighandler_t __handler)
__attribute__ ((__nothrow__ , __leaf__));
extern int gsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__));
extern void psignal (int __sig, const char *__s);
extern void psiginfo (const siginfo_t *__pinfo, const char *__s);
# 147 "/usr/include/signal.h" 3 4
extern int sigpause (int __sig) __asm__ ("__xpg_sigpause");
# 166 "/usr/include/signal.h" 3 4
extern int sigblock (int __mask) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__));
extern int sigsetmask (int __mask) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__));
extern int siggetmask (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__));
# 181 "/usr/include/signal.h" 3 4
typedef __sighandler_t sighandler_t;
typedef __sighandler_t sig_t;
extern int sigemptyset (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int sigfillset (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int sigaddset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int sigdelset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int sigismember (const sigset_t *__set, int __signo)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int sigisemptyset (const sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int sigandset (sigset_t *__set, const sigset_t *__left,
const sigset_t *__right) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3)));
extern int sigorset (sigset_t *__set, const sigset_t *__left,
const sigset_t *__right) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3)));
# 1 "/usr/include/bits/sigaction.h" 1 3 4
# 24 "/usr/include/bits/sigaction.h" 3 4
struct sigaction
{
union
{
__sighandler_t sa_handler;
void (*sa_sigaction) (int, siginfo_t *, void *);
}
__sigaction_handler;
__sigset_t sa_mask;
int sa_flags;
void (*sa_restorer) (void);
};
# 223 "/usr/include/signal.h" 2 3 4
extern int sigprocmask (int __how, const sigset_t *__restrict __set,
sigset_t *__restrict __oset) __attribute__ ((__nothrow__ , __leaf__));
extern int sigsuspend (const sigset_t *__set) __attribute__ ((__nonnull__ (1)));
extern int sigaction (int __sig, const struct sigaction *__restrict __act,
struct sigaction *__restrict __oact) __attribute__ ((__nothrow__ , __leaf__));
extern int sigpending (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int sigwait (const sigset_t *__restrict __set, int *__restrict __sig)
__attribute__ ((__nonnull__ (1, 2)));
extern int sigwaitinfo (const sigset_t *__restrict __set,
siginfo_t *__restrict __info) __attribute__ ((__nonnull__ (1)));
extern int sigtimedwait (const sigset_t *__restrict __set,
siginfo_t *__restrict __info,
const struct timespec *__restrict __timeout)
__attribute__ ((__nonnull__ (1)));
extern int sigqueue (__pid_t __pid, int __sig, const union sigval __val)
__attribute__ ((__nothrow__ , __leaf__));
# 282 "/usr/include/signal.h" 3 4
extern const char *const _sys_siglist[(64 + 1)];
extern const char *const sys_siglist[(64 + 1)];
# 1 "/usr/include/bits/sigcontext.h" 1 3 4
# 31 "/usr/include/bits/sigcontext.h" 3 4
struct _fpx_sw_bytes
{
__uint32_t magic1;
__uint32_t extended_size;
__uint64_t xstate_bv;
__uint32_t xstate_size;
__uint32_t __glibc_reserved1[7];
};
struct _fpreg
{
unsigned short significand[4];
unsigned short exponent;
};
struct _fpxreg
{
unsigned short significand[4];
unsigned short exponent;
unsigned short __glibc_reserved1[3];
};
struct _xmmreg
{
__uint32_t element[4];
};
# 123 "/usr/include/bits/sigcontext.h" 3 4
struct _fpstate
{
__uint16_t cwd;
__uint16_t swd;
__uint16_t ftw;
__uint16_t fop;
__uint64_t rip;
__uint64_t rdp;
__uint32_t mxcsr;
__uint32_t mxcr_mask;
struct _fpxreg _st[8];
struct _xmmreg _xmm[16];
__uint32_t __glibc_reserved1[24];
};
struct sigcontext
{
__uint64_t r8;
__uint64_t r9;
__uint64_t r10;
__uint64_t r11;
__uint64_t r12;
__uint64_t r13;
__uint64_t r14;
__uint64_t r15;
__uint64_t rdi;
__uint64_t rsi;
__uint64_t rbp;
__uint64_t rbx;
__uint64_t rdx;
__uint64_t rax;
__uint64_t rcx;
__uint64_t rsp;
__uint64_t rip;
__uint64_t eflags;
unsigned short cs;
unsigned short gs;
unsigned short fs;
unsigned short __pad0;
__uint64_t err;
__uint64_t trapno;
__uint64_t oldmask;
__uint64_t cr2;
__extension__ union
{
struct _fpstate * fpstate;
__uint64_t __fpstate_word;
};
__uint64_t __reserved1 [8];
};
struct _xsave_hdr
{
__uint64_t xstate_bv;
__uint64_t __glibc_reserved1[2];
__uint64_t __glibc_reserved2[5];
};
struct _ymmh_state
{
__uint32_t ymmh_space[64];
};
struct _xstate
{
struct _fpstate fpstate;
struct _xsave_hdr xstate_hdr;
struct _ymmh_state ymmh;
};
# 288 "/usr/include/signal.h" 2 3 4
extern int sigreturn (struct sigcontext *__scp) __attribute__ ((__nothrow__ , __leaf__));
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 1 3 4
# 298 "/usr/include/signal.h" 2 3 4
# 1 "/usr/include/bits/types/stack_t.h" 1 3 4
# 23 "/usr/include/bits/types/stack_t.h" 3 4
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 1 3 4
# 24 "/usr/include/bits/types/stack_t.h" 2 3 4
typedef struct
{
void *ss_sp;
int ss_flags;
size_t ss_size;
} stack_t;
# 300 "/usr/include/signal.h" 2 3 4
# 1 "/usr/include/sys/ucontext.h" 1 3 4
# 37 "/usr/include/sys/ucontext.h" 3 4
__extension__ typedef long long int greg_t;
# 46 "/usr/include/sys/ucontext.h" 3 4
typedef greg_t gregset_t[23];
enum
{
REG_R8 = 0,
REG_R9,
REG_R10,
REG_R11,
REG_R12,
REG_R13,
REG_R14,
REG_R15,
REG_RDI,
REG_RSI,
REG_RBP,
REG_RBX,
REG_RDX,
REG_RAX,
REG_RCX,
REG_RSP,
REG_RIP,
REG_EFL,
REG_CSGSFS,
REG_ERR,
REG_TRAPNO,
REG_OLDMASK,
REG_CR2
};
struct _libc_fpxreg
{
unsigned short int significand[4];
unsigned short int exponent;
unsigned short int __glibc_reserved1[3];
};
struct _libc_xmmreg
{
__uint32_t element[4];
};
struct _libc_fpstate
{
__uint16_t cwd;
__uint16_t swd;
__uint16_t ftw;
__uint16_t fop;
__uint64_t rip;
__uint64_t rdp;
__uint32_t mxcsr;
__uint32_t mxcr_mask;
struct _libc_fpxreg _st[8];
struct _libc_xmmreg _xmm[16];
__uint32_t __glibc_reserved1[24];
};
typedef struct _libc_fpstate *fpregset_t;
typedef struct
{
gregset_t gregs;
fpregset_t fpregs;
__extension__ unsigned long long __reserved1 [8];
} mcontext_t;
typedef struct ucontext_t
{
unsigned long int uc_flags;
struct ucontext_t *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
sigset_t uc_sigmask;
struct _libc_fpstate __fpregs_mem;
} ucontext_t;
# 303 "/usr/include/signal.h" 2 3 4
extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__ , __leaf__));
# 1 "/usr/include/bits/sigstack.h" 1 3 4
# 313 "/usr/include/signal.h" 2 3 4
# 1 "/usr/include/bits/ss_flags.h" 1 3 4
# 27 "/usr/include/bits/ss_flags.h" 3 4
enum
{
SS_ONSTACK = 1,
SS_DISABLE
};
# 314 "/usr/include/signal.h" 2 3 4
extern int sigaltstack (const stack_t *__restrict __ss,
stack_t *__restrict __oss) __attribute__ ((__nothrow__ , __leaf__));
# 1 "/usr/include/bits/types/struct_sigstack.h" 1 3 4
# 23 "/usr/include/bits/types/struct_sigstack.h" 3 4
struct sigstack
{
void *ss_sp;
int ss_onstack;
};
# 324 "/usr/include/signal.h" 2 3 4
extern int sigstack (struct sigstack *__ss, struct sigstack *__oss)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__));
extern int sighold (int __sig) __attribute__ ((__nothrow__ , __leaf__));
extern int sigrelse (int __sig) __attribute__ ((__nothrow__ , __leaf__));
extern int sigignore (int __sig) __attribute__ ((__nothrow__ , __leaf__));
extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __attribute__ ((__nothrow__ , __leaf__));
# 1 "/usr/include/bits/sigthread.h" 1 3 4
# 31 "/usr/include/bits/sigthread.h" 3 4
extern int pthread_sigmask (int __how,
const __sigset_t *__restrict __newmask,
__sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__ , __leaf__));
extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__ , __leaf__));
extern int pthread_sigqueue (pthread_t __threadid, int __signo,
const union sigval __value) __attribute__ ((__nothrow__ , __leaf__));
# 356 "/usr/include/signal.h" 2 3 4
extern int __libc_current_sigrtmin (void) __attribute__ ((__nothrow__ , __leaf__));
extern int __libc_current_sigrtmax (void) __attribute__ ((__nothrow__ , __leaf__));
# 53 "../autoopts/signal.h" 2 3
# 29 "/usr/include/sys/param.h" 2 3 4
# 1 "/usr/include/bits/param.h" 1 3 4
# 28 "/usr/include/bits/param.h" 3 4
# 1 "/usr/include/linux/param.h" 1 3 4
# 1 "/usr/include/asm/param.h" 1 3 4
# 1 "/usr/include/asm-generic/param.h" 1 3 4
# 1 "/usr/include/asm/param.h" 2 3 4
# 6 "/usr/include/linux/param.h" 2 3 4
# 29 "/usr/include/bits/param.h" 2 3 4
# 32 "/usr/include/sys/param.h" 2 3 4
# 63 "../compat/compat.h" 2
# 1 "/usr/include/sys/stat.h" 1 3 4
# 99 "/usr/include/sys/stat.h" 3 4
# 1 "/usr/include/bits/stat.h" 1 3 4
# 46 "/usr/include/bits/stat.h" 3 4
struct stat
{
__dev_t st_dev;
__ino_t st_ino;
__nlink_t st_nlink;
__mode_t st_mode;
__uid_t st_uid;
__gid_t st_gid;
int __pad0;
__dev_t st_rdev;
__off_t st_size;
__blksize_t st_blksize;
__blkcnt_t st_blocks;
# 91 "/usr/include/bits/stat.h" 3 4
struct timespec st_atim;
struct timespec st_mtim;
struct timespec st_ctim;
# 106 "/usr/include/bits/stat.h" 3 4
__syscall_slong_t __glibc_reserved[3];
# 115 "/usr/include/bits/stat.h" 3 4
};
struct stat64
{
__dev_t st_dev;
__ino64_t st_ino;
__nlink_t st_nlink;
__mode_t st_mode;
__uid_t st_uid;
__gid_t st_gid;
int __pad0;
__dev_t st_rdev;
__off_t st_size;
__blksize_t st_blksize;
__blkcnt64_t st_blocks;
struct timespec st_atim;
struct timespec st_mtim;
struct timespec st_ctim;
# 164 "/usr/include/bits/stat.h" 3 4
__syscall_slong_t __glibc_reserved[3];
};
# 102 "/usr/include/sys/stat.h" 2 3 4
# 205 "/usr/include/sys/stat.h" 3 4
extern int stat (const char *__restrict __file,
struct stat *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int fstat (int __fd, struct stat *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
# 224 "/usr/include/sys/stat.h" 3 4
extern int stat64 (const char *__restrict __file,
struct stat64 *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int fstat64 (int __fd, struct stat64 *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
extern int fstatat (int __fd, const char *__restrict __file,
struct stat *__restrict __buf, int __flag)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
# 249 "/usr/include/sys/stat.h" 3 4
extern int fstatat64 (int __fd, const char *__restrict __file,
struct stat64 *__restrict __buf, int __flag)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
extern int lstat (const char *__restrict __file,
struct stat *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
# 272 "/usr/include/sys/stat.h" 3 4
extern int lstat64 (const char *__restrict __file,
struct stat64 *__restrict __buf)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int chmod (const char *__file, __mode_t __mode)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int lchmod (const char *__file, __mode_t __mode)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int fchmod (int __fd, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__));
extern int fchmodat (int __fd, const char *__file, __mode_t __mode,
int __flag)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) ;
extern __mode_t umask (__mode_t __mask) __attribute__ ((__nothrow__ , __leaf__));
extern __mode_t getumask (void) __attribute__ ((__nothrow__ , __leaf__));
extern int mkdir (const char *__path, __mode_t __mode)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int mkdirat (int __fd, const char *__path, __mode_t __mode)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
extern int mknod (const char *__path, __mode_t __mode, __dev_t __dev)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int mknodat (int __fd, const char *__path, __mode_t __mode,
__dev_t __dev) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
extern int mkfifo (const char *__path, __mode_t __mode)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int mkfifoat (int __fd, const char *__path, __mode_t __mode)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
extern int utimensat (int __fd, const char *__path,
const struct timespec __times[2],
int __flags)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
extern int futimens (int __fd, const struct timespec __times[2]) __attribute__ ((__nothrow__ , __leaf__));
# 395 "/usr/include/sys/stat.h" 3 4
extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3)));
extern int __xstat (int __ver, const char *__filename,
struct stat *__stat_buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
extern int __lxstat (int __ver, const char *__filename,
struct stat *__stat_buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
extern int __fxstatat (int __ver, int __fildes, const char *__filename,
struct stat *__stat_buf, int __flag)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4)));
# 428 "/usr/include/sys/stat.h" 3 4
extern int __fxstat64 (int __ver, int __fildes, struct stat64 *__stat_buf)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3)));
extern int __xstat64 (int __ver, const char *__filename,
struct stat64 *__stat_buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
extern int __lxstat64 (int __ver, const char *__filename,
struct stat64 *__stat_buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
extern int __fxstatat64 (int __ver, int __fildes, const char *__filename,
struct stat64 *__stat_buf, int __flag)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4)));
extern int __xmknod (int __ver, const char *__path, __mode_t __mode,
__dev_t *__dev) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4)));
extern int __xmknodat (int __ver, int __fd, const char *__path,
__mode_t __mode, __dev_t *__dev)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 5)));
# 530 "/usr/include/sys/stat.h" 3 4
# 67 "../compat/compat.h" 2
# 1 "/usr/include/sys/wait.h" 1 3 4
# 27 "/usr/include/sys/wait.h" 3 4
# 36 "/usr/include/sys/wait.h" 3 4
# 1 "../autoopts/signal.h" 1 3 4
# 20 "../autoopts/signal.h" 3 4
# 21 "../autoopts/signal.h" 3
# 37 "/usr/include/sys/wait.h" 2 3 4
# 74 "/usr/include/sys/wait.h" 3 4
typedef enum
{
P_ALL,
P_PID,
P_PGID
} idtype_t;
# 88 "/usr/include/sys/wait.h" 3 4
extern __pid_t wait (int *__stat_loc);
# 111 "/usr/include/sys/wait.h" 3 4
extern __pid_t waitpid (__pid_t __pid, int *__stat_loc, int __options);
# 132 "/usr/include/sys/wait.h" 3 4
extern int waitid (idtype_t __idtype, __id_t __id, siginfo_t *__infop,
int __options);
struct rusage;
extern __pid_t wait3 (int *__stat_loc, int __options,
struct rusage * __usage) __attribute__ ((__nothrow__));
extern __pid_t wait4 (__pid_t __pid, int *__stat_loc, int __options,
struct rusage *__usage) __attribute__ ((__nothrow__));
# 69 "../compat/compat.h" 2
# 1 "/usr/include/sys/utsname.h" 1 3 4
# 27 "/usr/include/sys/utsname.h" 3 4
# 1 "/usr/include/bits/utsname.h" 1 3 4
# 30 "/usr/include/sys/utsname.h" 2 3 4
# 48 "/usr/include/sys/utsname.h" 3 4
struct utsname
{
char sysname[65];
char nodename[65];
char release[65];
char version[65];
char machine[65];
char domainname[65];
};
# 81 "/usr/include/sys/utsname.h" 3 4
extern int uname (struct utsname *__name) __attribute__ ((__nothrow__ , __leaf__));
# 75 "../compat/compat.h" 2
# 113 "../compat/compat.h"
# 1 "/usr/include/assert.h" 1 3 4
# 64 "/usr/include/assert.h" 3 4
extern void __assert_fail (const char *__assertion, const char *__file,
unsigned int __line, const char *__function)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__));
extern void __assert_perror_fail (int __errnum, const char *__file,
unsigned int __line, const char *__function)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__));
extern void __assert (const char *__assertion, const char *__file, int __line)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__));
# 114 "../compat/compat.h" 2
# 1 "/usr/include/ctype.h" 1 3 4
# 28 "/usr/include/ctype.h" 3 4
# 46 "/usr/include/ctype.h" 3 4
enum
{
_ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
_ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
_ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
_ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
_ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
_ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
_ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
_ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
_ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
_IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
_ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
_ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
};
# 79 "/usr/include/ctype.h" 3 4
extern const unsigned short int **__ctype_b_loc (void)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern const __int32_t **__ctype_tolower_loc (void)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern const __int32_t **__ctype_toupper_loc (void)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
# 108 "/usr/include/ctype.h" 3 4
extern int isalnum (int) __attribute__ ((__nothrow__ , __leaf__));
extern int isalpha (int) __attribute__ ((__nothrow__ , __leaf__));
extern int iscntrl (int) __attribute__ ((__nothrow__ , __leaf__));
extern int isdigit (int) __attribute__ ((__nothrow__ , __leaf__));
extern int islower (int) __attribute__ ((__nothrow__ , __leaf__));
extern int isgraph (int) __attribute__ ((__nothrow__ , __leaf__));
extern int isprint (int) __attribute__ ((__nothrow__ , __leaf__));
extern int ispunct (int) __attribute__ ((__nothrow__ , __leaf__));
extern int isspace (int) __attribute__ ((__nothrow__ , __leaf__));
extern int isupper (int) __attribute__ ((__nothrow__ , __leaf__));
extern int isxdigit (int) __attribute__ ((__nothrow__ , __leaf__));
extern int tolower (int __c) __attribute__ ((__nothrow__ , __leaf__));
extern int toupper (int __c) __attribute__ ((__nothrow__ , __leaf__));
extern int isblank (int) __attribute__ ((__nothrow__ , __leaf__));
extern int isctype (int __c, int __mask) __attribute__ ((__nothrow__ , __leaf__));
extern int isascii (int __c) __attribute__ ((__nothrow__ , __leaf__));
extern int toascii (int __c) __attribute__ ((__nothrow__ , __leaf__));
extern int _toupper (int) __attribute__ ((__nothrow__ , __leaf__));
extern int _tolower (int) __attribute__ ((__nothrow__ , __leaf__));
# 251 "/usr/include/ctype.h" 3 4
extern int isalnum_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__));
extern int isalpha_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__));
extern int iscntrl_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__));
extern int isdigit_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__));
extern int islower_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__));
extern int isgraph_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__));
extern int isprint_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__));
extern int ispunct_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__));
extern int isspace_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__));
extern int isupper_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__));
extern int isxdigit_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__));
extern int isblank_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__));
extern int __tolower_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__));
extern int tolower_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__));
extern int __toupper_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__));
extern int toupper_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__));
# 327 "/usr/include/ctype.h" 3 4
# 115 "../compat/compat.h" 2
# 128 "../compat/compat.h"
# 1 "/usr/include/dirent.h" 1 3 4
# 27 "/usr/include/dirent.h" 3 4
# 61 "/usr/include/dirent.h" 3 4
# 1 "/usr/include/bits/dirent.h" 1 3 4
# 22 "/usr/include/bits/dirent.h" 3 4
struct dirent
{
__ino_t d_ino;
__off_t d_off;
unsigned short int d_reclen;
unsigned char d_type;
char d_name[256];
};
struct dirent64
{
__ino64_t d_ino;
__off64_t d_off;
unsigned short int d_reclen;
unsigned char d_type;
char d_name[256];
};
# 62 "/usr/include/dirent.h" 2 3 4
# 97 "/usr/include/dirent.h" 3 4
enum
{
DT_UNKNOWN = 0,
DT_FIFO = 1,
DT_CHR = 2,
DT_DIR = 4,
DT_BLK = 6,
DT_REG = 8,
DT_LNK = 10,
DT_SOCK = 12,
DT_WHT = 14
};
# 127 "/usr/include/dirent.h" 3 4
typedef struct __dirstream DIR;
extern DIR *opendir (const char *__name) __attribute__ ((__nonnull__ (1)));
extern DIR *fdopendir (int __fd);
extern int closedir (DIR *__dirp) __attribute__ ((__nonnull__ (1)));
# 162 "/usr/include/dirent.h" 3 4
extern struct dirent *readdir (DIR *__dirp) __attribute__ ((__nonnull__ (1)));
# 173 "/usr/include/dirent.h" 3 4
extern struct dirent64 *readdir64 (DIR *__dirp) __attribute__ ((__nonnull__ (1)));
# 183 "/usr/include/dirent.h" 3 4
extern int readdir_r (DIR *__restrict __dirp,
struct dirent *__restrict __entry,
struct dirent **__restrict __result)
__attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__deprecated__));
# 201 "/usr/include/dirent.h" 3 4
extern int readdir64_r (DIR *__restrict __dirp,
struct dirent64 *__restrict __entry,
struct dirent64 **__restrict __result)
__attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__deprecated__));
extern void rewinddir (DIR *__dirp) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern void seekdir (DIR *__dirp, long int __pos) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern long int telldir (DIR *__dirp) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int dirfd (DIR *__dirp) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
# 245 "/usr/include/dirent.h" 3 4
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 1 3 4
# 246 "/usr/include/dirent.h" 2 3 4
# 255 "/usr/include/dirent.h" 3 4
extern int scandir (const char *__restrict __dir,
struct dirent ***__restrict __namelist,
int (*__selector) (const struct dirent *),
int (*__cmp) (const struct dirent **,
const struct dirent **))
__attribute__ ((__nonnull__ (1, 2)));
# 278 "/usr/include/dirent.h" 3 4
extern int scandir64 (const char *__restrict __dir,
struct dirent64 ***__restrict __namelist,
int (*__selector) (const struct dirent64 *),
int (*__cmp) (const struct dirent64 **,
const struct dirent64 **))
__attribute__ ((__nonnull__ (1, 2)));
# 293 "/usr/include/dirent.h" 3 4
extern int scandirat (int __dfd, const char *__restrict __dir,
struct dirent ***__restrict __namelist,
int (*__selector) (const struct dirent *),
int (*__cmp) (const struct dirent **,
const struct dirent **))
__attribute__ ((__nonnull__ (2, 3)));
# 315 "/usr/include/dirent.h" 3 4
extern int scandirat64 (int __dfd, const char *__restrict __dir,
struct dirent64 ***__restrict __namelist,
int (*__selector) (const struct dirent64 *),
int (*__cmp) (const struct dirent64 **,
const struct dirent64 **))
__attribute__ ((__nonnull__ (2, 3)));
extern int alphasort (const struct dirent **__e1,
const struct dirent **__e2)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
# 340 "/usr/include/dirent.h" 3 4
extern int alphasort64 (const struct dirent64 **__e1,
const struct dirent64 **__e2)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
# 353 "/usr/include/dirent.h" 3 4
extern __ssize_t getdirentries (int __fd, char *__restrict __buf,
size_t __nbytes,
__off_t *__restrict __basep)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4)));
# 370 "/usr/include/dirent.h" 3 4
extern __ssize_t getdirentries64 (int __fd, char *__restrict __buf,
size_t __nbytes,
__off64_t *__restrict __basep)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4)));
extern int versionsort (const struct dirent **__e1,
const struct dirent **__e2)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
# 396 "/usr/include/dirent.h" 3 4
extern int versionsort64 (const struct dirent64 **__e1,
const struct dirent64 **__e2)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
# 129 "../compat/compat.h" 2
# 144 "../compat/compat.h"
# 1 "/usr/include/errno.h" 1 3 4
# 28 "/usr/include/errno.h" 3 4
# 1 "/usr/include/bits/errno.h" 1 3 4
# 26 "/usr/include/bits/errno.h" 3 4
# 1 "/usr/include/linux/errno.h" 1 3 4
# 1 "/usr/include/asm/errno.h" 1 3 4
# 1 "/usr/include/asm-generic/errno.h" 1 3 4
# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4
# 6 "/usr/include/asm-generic/errno.h" 2 3 4
# 1 "/usr/include/asm/errno.h" 2 3 4
# 1 "/usr/include/linux/errno.h" 2 3 4
# 27 "/usr/include/bits/errno.h" 2 3 4
# 29 "/usr/include/errno.h" 2 3 4
extern int *__errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern char *program_invocation_name;
extern char *program_invocation_short_name;
typedef int error_t;
# 145 "../compat/compat.h" 2
# 1 "/usr/include/fcntl.h" 1 3 4
# 28 "/usr/include/fcntl.h" 3 4
# 1 "/usr/include/bits/fcntl.h" 1 3 4
# 35 "/usr/include/bits/fcntl.h" 3 4
struct flock
{
short int l_type;
short int l_whence;
__off_t l_start;
__off_t l_len;
__pid_t l_pid;
};
struct flock64
{
short int l_type;
short int l_whence;
__off64_t l_start;
__off64_t l_len;
__pid_t l_pid;
};
# 1 "/usr/include/bits/fcntl-linux.h" 1 3 4
# 38 "/usr/include/bits/fcntl-linux.h" 3 4
# 1 "/usr/include/bits/types/struct_iovec.h" 1 3 4
# 23 "/usr/include/bits/types/struct_iovec.h" 3 4
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 1 3 4
# 24 "/usr/include/bits/types/struct_iovec.h" 2 3 4
struct iovec
{
void *iov_base;
size_t iov_len;
};
# 39 "/usr/include/bits/fcntl-linux.h" 2 3 4
# 258 "/usr/include/bits/fcntl-linux.h" 3 4
enum __pid_type
{
F_OWNER_TID = 0,
F_OWNER_PID,
F_OWNER_PGRP,
F_OWNER_GID = F_OWNER_PGRP
};
struct f_owner_ex
{
enum __pid_type type;
__pid_t pid;
};
# 321 "/usr/include/bits/fcntl-linux.h" 3 4
# 1 "/usr/include/linux/falloc.h" 1 3 4
# 322 "/usr/include/bits/fcntl-linux.h" 2 3 4
struct file_handle
{
unsigned int handle_bytes;
int handle_type;
unsigned char f_handle[0];
};
extern __ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
__attribute__ ((__nothrow__ , __leaf__));
extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count,
unsigned int __flags);
extern __ssize_t vmsplice (int __fdout, const struct iovec *__iov,
size_t __count, unsigned int __flags);
extern __ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
__off64_t *__offout, size_t __len,
unsigned int __flags);
extern __ssize_t tee (int __fdin, int __fdout, size_t __len,
unsigned int __flags);
extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
# 392 "/usr/include/bits/fcntl-linux.h" 3 4
extern int fallocate64 (int __fd, int __mode, __off64_t __offset,
__off64_t __len);
extern int name_to_handle_at (int __dfd, const char *__name,
struct file_handle *__handle, int *__mnt_id,
int __flags) __attribute__ ((__nothrow__ , __leaf__));
extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle,
int __flags);
# 61 "/usr/include/bits/fcntl.h" 2 3 4
# 36 "/usr/include/fcntl.h" 2 3 4
# 78 "/usr/include/fcntl.h" 3 4
# 1 "/usr/include/bits/stat.h" 1 3 4
# 79 "/usr/include/fcntl.h" 2 3 4
# 170 "/usr/include/fcntl.h" 3 4
extern int fcntl (int __fd, int __cmd, ...);
# 180 "/usr/include/fcntl.h" 3 4
extern int open (const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1)));
# 190 "/usr/include/fcntl.h" 3 4
extern int open64 (const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1)));
# 204 "/usr/include/fcntl.h" 3 4
extern int openat (int __fd, const char *__file, int __oflag, ...)
__attribute__ ((__nonnull__ (2)));
# 215 "/usr/include/fcntl.h" 3 4
extern int openat64 (int __fd, const char *__file, int __oflag, ...)
__attribute__ ((__nonnull__ (2)));
# 226 "/usr/include/fcntl.h" 3 4
extern int creat (const char *__file, mode_t __mode) __attribute__ ((__nonnull__ (1)));
# 236 "/usr/include/fcntl.h" 3 4
extern int creat64 (const char *__file, mode_t __mode) __attribute__ ((__nonnull__ (1)));
# 255 "/usr/include/fcntl.h" 3 4
extern int lockf (int __fd, int __cmd, off_t __len);
# 264 "/usr/include/fcntl.h" 3 4
extern int lockf64 (int __fd, int __cmd, off64_t __len);
extern int posix_fadvise (int __fd, off_t __offset, off_t __len,
int __advise) __attribute__ ((__nothrow__ , __leaf__));
# 284 "/usr/include/fcntl.h" 3 4
extern int posix_fadvise64 (int __fd, off64_t __offset, off64_t __len,
int __advise) __attribute__ ((__nothrow__ , __leaf__));
# 294 "/usr/include/fcntl.h" 3 4
extern int posix_fallocate (int __fd, off_t __offset, off_t __len);
# 305 "/usr/include/fcntl.h" 3 4
extern int posix_fallocate64 (int __fd, off64_t __offset, off64_t __len);
# 316 "/usr/include/fcntl.h" 3 4
# 147 "../compat/compat.h" 2
# 157 "../compat/compat.h"
# 1 "../autoopts/limits.h" 1
# 20 "../autoopts/limits.h"
# 21 "../autoopts/limits.h" 3
# 158 "../compat/compat.h" 2
# 1 "/usr/include/memory.h" 1 3 4
# 163 "../compat/compat.h" 2
# 1 "/usr/include/setjmp.h" 1 3 4
# 27 "/usr/include/setjmp.h" 3 4
# 1 "/usr/include/bits/setjmp.h" 1 3 4
# 26 "/usr/include/bits/setjmp.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 27 "/usr/include/bits/setjmp.h" 2 3 4
typedef long int __jmp_buf[8];
# 30 "/usr/include/setjmp.h" 2 3 4
struct __jmp_buf_tag
{
__jmp_buf __jmpbuf;
int __mask_was_saved;
__sigset_t __saved_mask;
};
typedef struct __jmp_buf_tag jmp_buf[1];
extern int setjmp (jmp_buf __env) __attribute__ ((__nothrow__));
extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __attribute__ ((__nothrow__));
extern int _setjmp (struct __jmp_buf_tag __env[1]) __attribute__ ((__nothrow__));
# 67 "/usr/include/setjmp.h" 3 4
extern void longjmp (struct __jmp_buf_tag __env[1], int __val)
__attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
extern void _longjmp (struct __jmp_buf_tag __env[1], int __val)
__attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
typedef struct __jmp_buf_tag sigjmp_buf[1];
# 93 "/usr/include/setjmp.h" 3 4
extern void siglongjmp (sigjmp_buf __env, int __val)
__attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
# 103 "/usr/include/setjmp.h" 3 4
# 164 "../compat/compat.h" 2
# 1 "../autoopts/signal.h" 1
# 20 "../autoopts/signal.h"
# 21 "../autoopts/signal.h" 3
# 165 "../compat/compat.h" 2
# 175 "../compat/compat.h"
# 1 "../autoopts/time.h" 1
# 20 "../autoopts/time.h"
# 21 "../autoopts/time.h" 3
# 47 "../autoopts/time.h" 3
# 1 "/usr/include/time.h" 1 3 4
# 29 "/usr/include/time.h" 3 4
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 1 3 4
# 30 "/usr/include/time.h" 2 3 4
# 1 "/usr/include/bits/time.h" 1 3 4
# 73 "/usr/include/bits/time.h" 3 4
# 1 "/usr/include/bits/timex.h" 1 3 4
# 26 "/usr/include/bits/timex.h" 3 4
struct timex
{
unsigned int modes;
__syscall_slong_t offset;
__syscall_slong_t freq;
__syscall_slong_t maxerror;
__syscall_slong_t esterror;
int status;
__syscall_slong_t constant;
__syscall_slong_t precision;
__syscall_slong_t tolerance;
struct timeval time;
__syscall_slong_t tick;
__syscall_slong_t ppsfreq;
__syscall_slong_t jitter;
int shift;
__syscall_slong_t stabil;
__syscall_slong_t jitcnt;
__syscall_slong_t calcnt;
__syscall_slong_t errcnt;
__syscall_slong_t stbcnt;
int tai;
int :32; int :32; int :32; int :32;
int :32; int :32; int :32; int :32;
int :32; int :32; int :32;
};
# 74 "/usr/include/bits/time.h" 2 3 4
extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __attribute__ ((__nothrow__ , __leaf__));
# 34 "/usr/include/time.h" 2 3 4
# 1 "/usr/include/bits/types/struct_tm.h" 1 3 4
struct tm
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
long int tm_gmtoff;
const char *tm_zone;
};
# 40 "/usr/include/time.h" 2 3 4
# 48 "/usr/include/time.h" 3 4
# 1 "/usr/include/bits/types/struct_itimerspec.h" 1 3 4
struct itimerspec
{
struct timespec it_interval;
struct timespec it_value;
};
# 49 "/usr/include/time.h" 2 3 4
struct sigevent;
# 68 "/usr/include/time.h" 3 4
extern clock_t clock (void) __attribute__ ((__nothrow__ , __leaf__));
extern time_t time (time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
extern double difftime (time_t __time1, time_t __time0)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
extern size_t strftime (char *__restrict __s, size_t __maxsize,
const char *__restrict __format,
const struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__));
extern char *strptime (const char *__restrict __s,
const char *__restrict __fmt, struct tm *__tp)
__attribute__ ((__nothrow__ , __leaf__));
extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
const char *__restrict __format,
const struct tm *__restrict __tp,
locale_t __loc) __attribute__ ((__nothrow__ , __leaf__));
extern char *strptime_l (const char *__restrict __s,
const char *__restrict __fmt, struct tm *__tp,
locale_t __loc) __attribute__ ((__nothrow__ , __leaf__));
extern struct tm *gmtime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
extern struct tm *localtime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
extern struct tm *gmtime_r (const time_t *__restrict __timer,
struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__));
extern struct tm *localtime_r (const time_t *__restrict __timer,
struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__));
extern char *asctime (const struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
extern char *ctime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
extern char *asctime_r (const struct tm *__restrict __tp,
char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__));
extern char *ctime_r (const time_t *__restrict __timer,
char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__));
extern char *__tzname[2];
extern int __daylight;
extern long int __timezone;
extern char *tzname[2];
extern void tzset (void) __attribute__ ((__nothrow__ , __leaf__));
extern int daylight;
extern long int timezone;
extern int stime (const time_t *__when) __attribute__ ((__nothrow__ , __leaf__));
# 196 "/usr/include/time.h" 3 4
extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
extern int dysize (int __year) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
# 211 "/usr/include/time.h" 3 4
extern int nanosleep (const struct timespec *__requested_time,
struct timespec *__remaining);
extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__ , __leaf__));
extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__ , __leaf__));
extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp)
__attribute__ ((__nothrow__ , __leaf__));
extern int clock_nanosleep (clockid_t __clock_id, int __flags,
const struct timespec *__req,
struct timespec *__rem);
extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__ , __leaf__));
extern int timer_create (clockid_t __clock_id,
struct sigevent *__restrict __evp,
timer_t *__restrict __timerid) __attribute__ ((__nothrow__ , __leaf__));
extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__));
extern int timer_settime (timer_t __timerid, int __flags,
const struct itimerspec *__restrict __value,
struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__ , __leaf__));
extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
__attribute__ ((__nothrow__ , __leaf__));
extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__));
extern int timespec_get (struct timespec *__ts, int __base)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
# 280 "/usr/include/time.h" 3 4
extern int getdate_err;
# 289 "/usr/include/time.h" 3 4
extern struct tm *getdate (const char *__string);
# 303 "/usr/include/time.h" 3 4
extern int getdate_r (const char *__restrict __string,
struct tm *__restrict __resbufp);
# 48 "../autoopts/time.h" 2 3
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 1 3 4
# 149 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 3 4
typedef long int ptrdiff_t;
# 426 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 3 4
typedef struct {
long long __max_align_ll __attribute__((__aligned__(__alignof__(long long))));
long double __max_align_ld __attribute__((__aligned__(__alignof__(long double))));
# 437 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 3 4
} max_align_t;
# 51 "../autoopts/time.h" 2 3
# 597 "../autoopts/time.h" 3
struct __time_t_must_be_integral {
unsigned int __floating_time_t_unsupported : (time_t) 1;
};
# 611 "../autoopts/time.h" 3
extern int rpl_nanosleep (struct timespec const *__rqtp, struct timespec *__rmtp) __attribute__ ((__nonnull__ (1)))
;
extern int _gl_cxxalias_dummy
;
# 625 "../autoopts/time.h" 3
extern int _gl_cxxalias_dummy;
# 176 "../compat/compat.h" 2
# 1 "/usr/include/utime.h" 1 3 4
# 27 "/usr/include/utime.h" 3 4
# 36 "/usr/include/utime.h" 3 4
struct utimbuf
{
__time_t actime;
__time_t modtime;
};
extern int utime (const char *__file,
const struct utimbuf *__file_times)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
# 179 "../compat/compat.h" 2
# 1 "../autoopts/unistd.h" 1
# 21 "../autoopts/unistd.h"
# 22 "../autoopts/unistd.h" 3
# 40 "../autoopts/unistd.h" 3
# 1 "/usr/include/unistd.h" 1 3 4
# 27 "/usr/include/unistd.h" 3 4
# 205 "/usr/include/unistd.h" 3 4
# 1 "/usr/include/bits/posix_opt.h" 1 3 4
# 206 "/usr/include/unistd.h" 2 3 4
# 1 "/usr/include/bits/environments.h" 1 3 4
# 22 "/usr/include/bits/environments.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 23 "/usr/include/bits/environments.h" 2 3 4
# 210 "/usr/include/unistd.h" 2 3 4
# 229 "/usr/include/unistd.h" 3 4
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h" 1 3 4
# 230 "/usr/include/unistd.h" 2 3 4
# 277 "/usr/include/unistd.h" 3 4
typedef __socklen_t socklen_t;
# 290 "/usr/include/unistd.h" 3 4
extern int access (const char *__name, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int euidaccess (const char *__name, int __type)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int eaccess (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))) ;
# 337 "/usr/include/unistd.h" 3 4
extern __off_t lseek (int __fd, __off_t __offset, int __whence) __attribute__ ((__nothrow__ , __leaf__));
# 348 "/usr/include/unistd.h" 3 4
extern __off64_t lseek64 (int __fd, __off64_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) ;
# 379 "/usr/include/unistd.h" 3 4
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) ;
# 407 "/usr/include/unistd.h" 3 4
extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,
__off64_t __offset) ;
extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n,
__off64_t __offset) ;
extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__ , __leaf__)) ;
extern int pipe2 (int __pipedes[2], int __flags) __attribute__ ((__nothrow__ , __leaf__)) ;
# 435 "/usr/include/unistd.h" 3 4
extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__ , __leaf__));
# 447 "/usr/include/unistd.h" 3 4
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);
# 472 "/usr/include/unistd.h" 3 4
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__)) ;
# 514 "/usr/include/unistd.h" 3 4
extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) ;
extern char *get_current_dir_name (void) __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 int dup3 (int __fd, int __fd2, int __flags) __attribute__ ((__nothrow__ , __leaf__));
extern char **__environ;
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 execvpe (const char *__file, char *const __argv[],
char *const __envp[])
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int nice (int __inc) __attribute__ ((__nothrow__ , __leaf__)) ;
extern void _exit (int __status) __attribute__ ((__noreturn__));
# 1 "/usr/include/bits/confname.h" 1 3 4
# 24 "/usr/include/bits/confname.h" 3 4
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
};
# 613 "/usr/include/unistd.h" 2 3 4
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__));
# 663 "/usr/include/unistd.h" 3 4
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 group_member (__gid_t __gid) __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 int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid)
__attribute__ ((__nothrow__ , __leaf__));
extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid)
__attribute__ ((__nothrow__ , __leaf__));
extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid)
__attribute__ ((__nothrow__ , __leaf__)) ;
extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid)
__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)));
# 1 "/usr/include/bits/getopt_posix.h" 1 3 4
# 27 "/usr/include/bits/getopt_posix.h" 3 4
# 1 "/usr/include/bits/getopt_core.h" 1 3 4
# 28 "/usr/include/bits/getopt_core.h" 3 4
extern char *optarg;
# 50 "/usr/include/bits/getopt_core.h" 3 4
extern int optind;
extern int opterr;
extern int optopt;
# 91 "/usr/include/bits/getopt_core.h" 3 4
extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
# 28 "/usr/include/bits/getopt_posix.h" 2 3 4
# 49 "/usr/include/bits/getopt_posix.h" 3 4
# 873 "/usr/include/unistd.h" 2 3 4
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 int syncfs (int __fd) __attribute__ ((__nothrow__ , __leaf__));
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__));
# 994 "/usr/include/unistd.h" 3 4
extern int truncate (const char *__file, __off_t __length)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
# 1006 "/usr/include/unistd.h" 3 4
extern int truncate64 (const char *__file, __off64_t __length)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
# 1017 "/usr/include/unistd.h" 3 4
extern int ftruncate (int __fd, __off_t __length) __attribute__ ((__nothrow__ , __leaf__)) ;
# 1027 "/usr/include/unistd.h" 3 4
extern int ftruncate64 (int __fd, __off64_t __length) __attribute__ ((__nothrow__ , __leaf__)) ;
# 1038 "/usr/include/unistd.h" 3 4
extern int brk (void *__addr) __attribute__ ((__nothrow__ , __leaf__)) ;
extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__ , __leaf__));
# 1059 "/usr/include/unistd.h" 3 4
extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__ , __leaf__));
# 1113 "/usr/include/unistd.h" 3 4
extern int fdatasync (int __fildes);
extern char *crypt (const char *__key, const char *__salt)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern void encrypt (char *__glibc_block, int __edflag)
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern void swab (const void *__restrict __from, void *__restrict __to,
ssize_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
# 1162 "/usr/include/unistd.h" 3 4
int getentropy (void *__buffer, size_t __length) ;
# 41 "../autoopts/unistd.h" 2 3
# 662 "../autoopts/unistd.h" 3
# 2405 "../autoopts/unistd.h" 3
# 183 "../compat/compat.h" 2
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stdbool.h" 1 3 4
# 187 "../compat/compat.h" 2
# 318 "../compat/compat.h"
# 318 "../compat/compat.h"
typedef unsigned int uint_t;
# 366 "../compat/compat.h"
typedef long t_word;
# 31 "../autoopts/project.h" 2
# 1 "../autoopts/ag-char-map.h" 1
# 32 "../autoopts/project.h" 2
# 54 "../autoopts/project.h"
typedef int tSuccess;
# 8 "gd.c" 2
# 1 "opts.h" 1
# 52 "opts.h"
# 1 "../autoopts/autoopts/options.h" 1
# 41 "../autoopts/autoopts/options.h"
# 1 "../autoopts/sys/types.h" 1
# 20 "../autoopts/sys/types.h"
# 21 "../autoopts/sys/types.h" 3
# 42 "../autoopts/autoopts/options.h" 2
# 130 "../autoopts/autoopts/options.h"
typedef enum {
OPARG_TYPE_NONE = 0,
OPARG_TYPE_STRING = 1,
OPARG_TYPE_ENUMERATION = 2,
OPARG_TYPE_BOOLEAN = 3,
OPARG_TYPE_MEMBERSHIP = 4,
OPARG_TYPE_NUMERIC = 5,
OPARG_TYPE_HIERARCHY = 6,
OPARG_TYPE_FILE = 7,
OPARG_TYPE_TIME = 8,
OPARG_TYPE_FLOAT = 9,
OPARG_TYPE_DOUBLE = 10,
OPARG_TYPE_LONG_DOUBLE = 11,
OPARG_TYPE_LONG_LONG = 12,
OPARG_TYPE_STATIC = 13
} teOptArgType;
typedef struct optionValue {
teOptArgType valType;
char * pzName;
union {
char strVal[1];
unsigned int enumVal;
unsigned int boolVal;
unsigned long setVal;
long longVal;
void * nestVal;
} v;
} tOptionValue;
typedef enum {
FTYPE_MODE_MAY_EXIST = 0x00,
FTYPE_MODE_MUST_EXIST = 0x01,
FTYPE_MODE_MUST_NOT_EXIST = 0x02,
FTYPE_MODE_EXIST_MASK = 0x03,
FTYPE_MODE_NO_OPEN = 0x00,
FTYPE_MODE_OPEN_FD = 0x10,
FTYPE_MODE_FOPEN_FP = 0x20,
FTYPE_MODE_OPEN_MASK = 0x30
} teOptFileType;
typedef union {
int file_flags;
char const * file_mode;
} tuFileMode;
# 194 "../autoopts/autoopts/options.h"
typedef struct {
int useCt;
int allocCt;
char const * apzArgs[6];
} tArgList;
typedef uint32_t opt_state_mask_t;
# 342 "../autoopts/autoopts/options.h"
typedef uint32_t proc_state_mask_t;
# 413 "../autoopts/autoopts/options.h"
typedef enum {
OP_VAL_EMIT_USAGE = 1,
OP_VAL_EMIT_SHELL = 2,
OP_VAL_RETURN_VALNAME = 3,
OP_VAL_EMIT_LIMIT = 15
} opt_proc_vals_t;
# 437 "../autoopts/autoopts/options.h"
typedef struct opt_desc tOptDesc;
typedef struct options tOptions;
typedef void (tOptProc)(tOptions * pOpts, tOptDesc * pOptDesc);
typedef tOptProc * tpOptProc;
typedef void (tUsageProc)(tOptions * pOpts, int exitCode);
typedef tUsageProc * tpUsageProc;
# 482 "../autoopts/autoopts/options.h"
typedef union {
char const * argString;
uintptr_t argEnum;
uintptr_t argIntptr;
long argInt;
unsigned long argUint;
unsigned int argBool;
FILE * argFp;
int argFd;
} opt_arg_union_t;
# 503 "../autoopts/autoopts/options.h"
typedef enum {
AOUSE_USER_DEFINED = 0,
AOUSE_RESET_OPTION,
AOUSE_VERSION,
AOUSE_HELP,
AOUSE_MORE_HELP,
AOUSE_USAGE,
AOUSE_SAVE_OPTS,
AOUSE_LOAD_OPTS,
AOUSE_VENDOR_OPT
} opt_usage_t;
struct opt_desc {
uint16_t const optIndex;
uint16_t const optValue;
uint16_t optActualIndex;
uint16_t optActualValue;
uint16_t const optEquivIndex;
uint16_t const optMinCt;
uint16_t const optMaxCt;
uint16_t optOccCt;
opt_state_mask_t fOptState;
uint32_t optUsage;
opt_arg_union_t optArg;
void * optCookie;
int const * const pOptMust;
int const * const pOptCant;
tpOptProc const pOptProc;
char const * const pzText;
char const * const pz_NAME;
char const * const pz_Name;
char const * const pz_DisableName;
char const * const pz_DisablePfx;
};
typedef struct {
uint16_t const more_help;
uint16_t const save_opts;
uint16_t const number_option;
uint16_t const default_opt;
} option_spec_idx_t;
typedef void (tOptionXlateProc)(void);
struct options {
int const structVersion;
unsigned int origArgCt;
char ** origArgVect;
proc_state_mask_t fOptSet;
unsigned int curOptIdx;
char * pzCurOpt;
char const * const pzProgPath;
char const * const pzProgName;
char const * const pzPROGNAME;
char const * const pzRcName;
char const * const pzCopyright;
char const * const pzCopyNotice;
char const * const pzFullVersion;
char const * const * const papzHomeList;
char const * const pzUsageTitle;
char const * const pzExplain;
char const * const pzDetail;
tOptDesc * const pOptDesc;
char const * const pzBugAddr;
void * pExtensions;
void * pSavedState;
tpUsageProc pUsageProc;
tOptionXlateProc * pTransProc;
option_spec_idx_t specOptIdx;
int const optCt;
int const presetOptCt;
char const * pzFullUsage;
char const * pzShortUsage;
opt_arg_union_t const * const originalOptArgArray;
void * const * const originalOptArgCookie;
char const * const pzPkgDataDir;
char const * const pzPackager;
};
# 701 "../autoopts/autoopts/options.h"
typedef struct {
unsigned long tkn_ct;
unsigned char * tkn_list[1];
} token_list_t;
# 727 "../autoopts/autoopts/options.h"
typedef struct {
void * txt_data;
size_t txt_size;
size_t txt_full_size;
int txt_fd;
int txt_zero_fd;
int txt_errno;
int txt_prot;
int txt_flags;
} tmap_info_t;
# 794 "../autoopts/autoopts/options.h"
extern token_list_t * ao_string_tokenize(char const *);
# 812 "../autoopts/autoopts/options.h"
extern const tOptionValue * configFileLoad(char const *);
# 840 "../autoopts/autoopts/options.h"
extern int optionFileLoad(tOptions *, char const *);
# 857 "../autoopts/autoopts/options.h"
extern const tOptionValue * optionFindNextValue(const tOptDesc *, const tOptionValue *, char const *, char const *);
# 872 "../autoopts/autoopts/options.h"
extern const tOptionValue * optionFindValue(const tOptDesc *, char const *, char const *);
# 883 "../autoopts/autoopts/options.h"
extern void optionFree(tOptions *);
# 901 "../autoopts/autoopts/options.h"
extern const tOptionValue * optionGetValue(const tOptionValue *, char const *);
# 924 "../autoopts/autoopts/options.h"
extern void optionLoadLine(tOptions *, char const *);
# 937 "../autoopts/autoopts/options.h"
extern char * optionMemberList(tOptDesc *);
# 954 "../autoopts/autoopts/options.h"
extern const tOptionValue * optionNextValue(const tOptionValue *, const tOptionValue *);
# 967 "../autoopts/autoopts/options.h"
extern void optionOnlyUsage(tOptions *, int);
# 978 "../autoopts/autoopts/options.h"
extern void optionPrintVersion(tOptions *, tOptDesc *);
# 992 "../autoopts/autoopts/options.h"
extern void optionPrintVersionAndReturn(tOptions *, tOptDesc *);
# 1020 "../autoopts/autoopts/options.h"
extern int optionProcess(tOptions *, int, char **);
# 1035 "../autoopts/autoopts/options.h"
extern void optionRestore(tOptions *);
# 1058 "../autoopts/autoopts/options.h"
extern void optionSaveFile(tOptions *);
# 1078 "../autoopts/autoopts/options.h"
extern void optionSaveState(tOptions *);
# 1090 "../autoopts/autoopts/options.h"
extern void optionUnloadNested(tOptionValue const *);
# 1101 "../autoopts/autoopts/options.h"
extern char const * optionVersion(void);
# 1114 "../autoopts/autoopts/options.h"
extern void option_strequate(char const *);
# 1131 "../autoopts/autoopts/options.h"
extern int option_streqvcmp(char const *, char const *);
# 1157 "../autoopts/autoopts/options.h"
extern void option_streqvmap(char, char, int);
# 1176 "../autoopts/autoopts/options.h"
extern int option_strneqvcmp(char const *, char const *, int);
# 1192 "../autoopts/autoopts/options.h"
extern void option_strtransform(char *, char const *);
tOptProc optionStackArg, optionUnstackArg, optionBooleanVal, optionNumericVal;
extern char * ao_string_cook(char *, int *);
extern unsigned int ao_string_cook_escape_char(char const *, char *, unsigned int);
extern void genshelloptUsage(tOptions *, int);
extern int optionAlias(tOptions *, tOptDesc *, unsigned int);
extern void optionBooleanVal(tOptions *, tOptDesc *);
extern uintptr_t optionEnumerationVal(tOptions *, tOptDesc *, char const * const *, unsigned int);
extern void optionFileCheck(tOptions *, tOptDesc *, teOptFileType, tuFileMode);
extern char const * optionKeywordName(tOptDesc *, unsigned int);
extern void optionLoadOpt(tOptions *, tOptDesc *);
extern
# 1215 "../autoopts/autoopts/options.h" 3 4
_Bool
# 1215 "../autoopts/autoopts/options.h"
optionMakePath(char *, int, char const *, char const *);
extern void optionNestedVal(tOptions *, tOptDesc *);
extern void optionNumericVal(tOptions *, tOptDesc *);
extern void optionPagedUsage(tOptions *, tOptDesc *);
extern void optionParseShell(tOptions *);
extern void optionPrintParagraphs(char const *,
# 1225 "../autoopts/autoopts/options.h" 3 4
_Bool
# 1225 "../autoopts/autoopts/options.h"
, FILE *);
extern void optionPutShell(tOptions *);
extern char const * optionQuoteString(char const *, char const *);
extern void optionResetOpt(tOptions *, tOptDesc *);
extern void optionSetMembers(tOptions *, tOptDesc *, char const * const *, unsigned int);
extern void optionShowRange(tOptions *, tOptDesc *, void *, int);
extern void optionStackArg(tOptions *, tOptDesc *);
extern void optionTimeDate(tOptions *, tOptDesc *);
extern void optionTimeVal(tOptions *, tOptDesc *);
extern void optionUnstackArg(tOptions *, tOptDesc *);
extern void optionUsage(tOptions *, int);
extern void optionVendorOption(tOptions *, tOptDesc *);
extern void optionVersionStderr(tOptions *, tOptDesc *);
extern void * text_mmap(char const *, int, int, tmap_info_t *);
extern int text_munmap(tmap_info_t *);
# 53 "opts.h" 2
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stdarg.h" 1 3 4
# 54 "opts.h" 2
# 1 "/usr/lib64/gcc/x86_64-suse-linux/7/include/stdnoreturn.h" 1 3 4
# 55 "opts.h" 2
# 79 "opts.h"
typedef enum {
INDEX_OPT_DEFS_TO_GET = 1,
INDEX_OPT_SUBBLOCK = 2,
INDEX_OPT_LISTATTR = 3,
INDEX_OPT_ORDERING = 5,
INDEX_OPT_FIRST_INDEX = 6,
INDEX_OPT_FILELIST = 8,
INDEX_OPT_ASSIGN = 9,
INDEX_OPT_COMMON_ASSIGN = 10,
INDEX_OPT_COPY = 11,
INDEX_OPT_SRCFILE = 12,
INDEX_OPT_LINENUM = 13,
INDEX_OPT_INPUT = 15,
INDEX_OPT_OUTPUT = 17,
INDEX_OPT_AUTOGEN = 18,
INDEX_OPT_TEMPLATE = 19,
INDEX_OPT_AGARG = 20,
INDEX_OPT_BASE_NAME = 21,
INDEX_OPT_VERSION = 22,
INDEX_OPT_HELP = 23,
INDEX_OPT_MORE_HELP = 24,
INDEX_OPT_SAVE_OPTS = 25,
INDEX_OPT_LOAD_OPTS = 26
} teOptIndex;
# 149 "opts.h"
typedef enum {
GETDEFS_EXIT_SUCCESS = 0,
GETDEFS_EXIT_FAILURE = 1,
GETDEFS_EXIT_INVALID_INPUT = 2,
GETDEFS_EXIT_NO_MEM = 3,
GETDEFS_EXIT_USAGE_ERROR = 64,
GETDEFS_EXIT_NO_CONFIG_INPUT = 66,
GETDEFS_EXIT_LIBOPTS_FAILURE = 70
} getdefs_exit_code_t;
# 355 "opts.h"
extern tOptions getdefsOptions;
# 367 "opts.h"
# 367 "opts.h" 3 4
_Noreturn
# 367 "opts.h"
extern void
vdie( int exit_code, char const * fmt, va_list);
# 369 "opts.h" 3 4
_Noreturn
# 369 "opts.h"
extern void
die( int exit_code, char const * fmt, ...);
# 371 "opts.h" 3 4
_Noreturn
# 371 "opts.h"
extern void
fserr(int exit_code, char const * op, char const * fn);
# 381 "opts.h"
# 381 "opts.h" 3 4
_Noreturn
# 381 "opts.h"
static inline void nomem_err(size_t sz, char const * what)
{
char const * fmt = "could not allocate %zu bytes for %s\n";
die(GETDEFS_EXIT_NO_MEM, fmt, sz, what);
}
# 9 "gd.c" 2
# 1 "opts.c" 1
# 48 "opts.c"
# 1 "../autoopts/sys/types.h" 1
# 20 "../autoopts/sys/types.h"
# 21 "../autoopts/sys/types.h" 3
# 49 "opts.c" 2
# 1 "../autoopts/limits.h" 1
# 20 "../autoopts/limits.h"
# 21 "../autoopts/limits.h" 3
# 54 "opts.c" 2
# 62 "opts.c"
extern FILE * option_usage_fp;
# 74 "opts.c"
static char const getdefs_opt_strs[2640] =
"getdefs (GNU AutoGen) 1.5\n"
"Copyright (C) 1999-2020 Bruce Korb, all rights reserved.\n"
"This is free software. It is licensed for use, modification and\n"
"redistribution under the terms of the GNU General Public License,\n"
"version 3 or later <http://gnu.org/licenses/gpl.html>\n\0"
"getdefs is free software: you can redistribute it and/or modify it under\n"
"the terms of the GNU General Public License as published by the Free\n"
"Software Foundation, either version 3 of the License, or (at your option)\n"
"any later version.\n\n"
"getdefs is distributed in the hope that it will be useful, but WITHOUT ANY\n"
"WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\n"
"FOR A PARTICULAR PURPOSE. See the GNU General Public License for more\n"
"details.\n\n"
"You should have received a copy of the GNU General Public License along\n"
"with this program. If not, see <http://www.gnu.org/licenses/>.\n\0"
"Specify which definitions are of interest and what to say about them:\0"
"Regexp to look for after the \"/*=\"\0"
"DEFS_TO_GET\0"
"defs-to-get\0"
"subblock definition names\0"
"SUBBLOCK\0"
"subblock\0"
"attribute with list of values\0"
"LISTATTR\0"
"listattr\0"
"specify how to number the definitions:\0"
"Alphabetize or use named file\0"
"ORDERING\0"
"no-ordering\0"
"no\0"
"The first index to apply to groups\0"
"FIRST_INDEX\0"
"first-index\0"
"Definition insertion options:\0"
"Insert source file names into defs\0"
"FILELIST\0"
"filelist\0"
"Global assignments\0"
"ASSIGN\0"
"assign\0"
"Assignments common to all blocks\0"
"COMMON_ASSIGN\0"
"common-assign\0"
"File(s) to copy into definitions\0"
"COPY\0"
"copy\0"
"Insert source file name into each def\0"
"SRCFILE\0"
"srcfile\0"
"Insert source line number into each def\0"
"LINENUM\0"
"linenum\0"
"specify which files to search for markers:\0"
"Input file to search for defs\0"
"INPUT\0"
"input\0"
"Definition output disposition options::\0"
"Output file to open\0"
"OUTPUT\0"
"output\0"
"Invoke AutoGen with defs\0"
"AUTOGEN\0"
"no-autogen\0"
"Template Name\0"
"TEMPLATE\0"
"template\0"
"AutoGen Argument\0"
"AGARG\0"
"agarg\0"
"Base name for output file(s)\0"
"BASE_NAME\0"
"base-name\0"
"display extended usage information and exit\0"
"help\0"
"extended usage information passed thru pager\0"
"more-help\0"
"output version information and exit\0"
"version\0"
"save the option state to a config file\0"
"save-opts\0"
"load options from a config file\0"
"LOAD_OPTS\0"
"no-load-opts\0"
"GETDEFS\0"
"getdefs (GNU AutoGen) - AutoGen Definition Extraction Tool - Ver. 1.5\n"
"Usage: %s [ <option-name>[{=| }<val>] ]...\n\0"
"/dev/null\0"
".getdefsrc\0"
"autogen-users@lists.sourceforge.net\0"
"If no 'input' argument is provided or is set to simply \"-\", and if 'stdin'\n"
"is not a 'tty', then the list of input files will be read from 'stdin'.\n\0"
"This program extracts AutoGen definitions from a list of source files.\n"
"Definitions are delimited by '/*=<entry-type> <entry-name>\\n' and '=*/\\n'.\n\0"
"getdefs (GNU AutoGen) 1.5";
# 421 "opts.c"
static int const aAgargCantList[] = {
INDEX_OPT_OUTPUT, (0x7fff +1) };
# 438 "opts.c"
static int const aBase_NameCantList[] = {
INDEX_OPT_OUTPUT, (0x7fff +1) };
# 472 "opts.c"
extern tOptProc
optionBooleanVal, optionNestedVal, optionNumericVal,
optionPagedUsage, optionPrintVersion, optionResetOpt,
optionStackArg, optionTimeDate, optionTimeVal,
optionUnstackArg, optionVendorOption;
static tOptProc
doUsageOpt;
# 487 "opts.c"
static tOptDesc optDesc[27] = {
{ 0, 0,
0, 0,
(0x7fff +1),
0, 0, 0,
(0x0200000U | 0x0000100U), 0,
{
# 493 "opts.c" 3 4
((void *)0)
# 493 "opts.c"
},
# 494 "opts.c" 3 4
((void *)0)
# 494 "opts.c"
,
# 495 "opts.c" 3 4
((void *)0)
# 495 "opts.c"
,
# 495 "opts.c" 3 4
((void *)0)
# 495 "opts.c"
,
# 496 "opts.c" 3 4
((void *)0)
# 496 "opts.c"
,
(getdefs_opt_strs+871),
# 497 "opts.c" 3 4
((void *)0)
# 497 "opts.c"
,
# 497 "opts.c" 3 4
((void *)0)
# 497 "opts.c"
,
# 498 "opts.c" 3 4
((void *)0)
# 498 "opts.c"
,
# 498 "opts.c" 3 4
((void *)0)
# 498 "opts.c"
},
{ 1, 0x1001,
1, 0x1001,
(0x7fff +1),
0, 1, 0,
(0x0000020U | ((OPARG_TYPE_STRING) << 12)), 0,
{
# 505 "opts.c" 3 4
((void *)0)
# 505 "opts.c"
},
# 506 "opts.c" 3 4
((void *)0)
# 506 "opts.c"
,
# 507 "opts.c" 3 4
((void *)0)
# 507 "opts.c"
,
# 507 "opts.c" 3 4
((void *)0)
# 507 "opts.c"
,
# 508 "opts.c" 3 4
((void *)0)
# 508 "opts.c"
,
(getdefs_opt_strs+941), (getdefs_opt_strs+976), (getdefs_opt_strs+988),
# 510 "opts.c" 3 4
((void *)0)
# 510 "opts.c"
,
# 510 "opts.c" 3 4
((void *)0)
# 510 "opts.c"
},
{ 2, 0x1002,
2, 0x1002,
(0x7fff +1),
0,
# 515 "opts.c" 3 4
(0x7fff * 2 + 1)
# 515 "opts.c"
, 0,
(0x0000020U | 0x0000400U | ((OPARG_TYPE_STRING) << 12)), 0,
{
# 517 "opts.c" 3 4
((void *)0)
# 517 "opts.c"
},
# 518 "opts.c" 3 4
((void *)0)
# 518 "opts.c"
,
# 519 "opts.c" 3 4
((void *)0)
# 519 "opts.c"
,
# 519 "opts.c" 3 4
((void *)0)
# 519 "opts.c"
,
optionStackArg,
(getdefs_opt_strs+1000), (getdefs_opt_strs+1026), (getdefs_opt_strs+1035),
# 522 "opts.c" 3 4
((void *)0)
# 522 "opts.c"
,
# 522 "opts.c" 3 4
((void *)0)
# 522 "opts.c"
},
{ 3, 0x1003,
3, 0x1003,
(0x7fff +1),
0,
# 527 "opts.c" 3 4
(0x7fff * 2 + 1)
# 527 "opts.c"
, 0,
(0x0000020U | 0x0000400U | ((OPARG_TYPE_STRING) << 12)), 0,
{
# 529 "opts.c" 3 4
((void *)0)
# 529 "opts.c"
},
# 530 "opts.c" 3 4
((void *)0)
# 530 "opts.c"
,
# 531 "opts.c" 3 4
((void *)0)
# 531 "opts.c"
,
# 531 "opts.c" 3 4
((void *)0)
# 531 "opts.c"
,
optionStackArg,
(getdefs_opt_strs+1044), (getdefs_opt_strs+1074), (getdefs_opt_strs+1083),
# 534 "opts.c" 3 4
((void *)0)
# 534 "opts.c"
,
# 534 "opts.c" 3 4
((void *)0)
# 534 "opts.c"
},
{ 0, 0,
0, 0,
(0x7fff +1),
0, 0, 0,
(0x0200000U | 0x0000100U), 0,
{
# 541 "opts.c" 3 4
((void *)0)
# 541 "opts.c"
},
# 542 "opts.c" 3 4
((void *)0)
# 542 "opts.c"
,
# 543 "opts.c" 3 4
((void *)0)
# 543 "opts.c"
,
# 543 "opts.c" 3 4
((void *)0)
# 543 "opts.c"
,
# 544 "opts.c" 3 4
((void *)0)
# 544 "opts.c"
,
(getdefs_opt_strs+1092),
# 545 "opts.c" 3 4
((void *)0)
# 545 "opts.c"
,
# 545 "opts.c" 3 4
((void *)0)
# 545 "opts.c"
,
# 546 "opts.c" 3 4
((void *)0)
# 546 "opts.c"
,
# 546 "opts.c" 3 4
((void *)0)
# 546 "opts.c"
},
{ 5, 0x1004,
5, 0x1004,
(0x7fff +1),
0, 1, 0,
(0x0000800U | ((OPARG_TYPE_STRING) << 12) | 0x0010000U), 0,
{
# 553 "opts.c" 3 4
((void *)0)
# 553 "opts.c"
},
# 554 "opts.c" 3 4
((void *)0)
# 554 "opts.c"
,
# 555 "opts.c" 3 4
((void *)0)
# 555 "opts.c"
,
# 555 "opts.c" 3 4
((void *)0)
# 555 "opts.c"
,
# 556 "opts.c" 3 4
((void *)0)
# 556 "opts.c"
,
(getdefs_opt_strs+1131), (getdefs_opt_strs+1161), ((getdefs_opt_strs+1170) + 3),
(getdefs_opt_strs+1170), (getdefs_opt_strs+1182) },
{ 6, 0x1005,
6, 0x1005,
(0x7fff +1),
0, 1, 0,
(0x0000020U | ((OPARG_TYPE_NUMERIC) << 12)), 0,
{ ((char const*)0) },
# 566 "opts.c" 3 4
((void *)0)
# 566 "opts.c"
,
# 567 "opts.c" 3 4
((void *)0)
# 567 "opts.c"
,
# 567 "opts.c" 3 4
((void *)0)
# 567 "opts.c"
,
optionNumericVal,
(getdefs_opt_strs+1185), (getdefs_opt_strs+1220), (getdefs_opt_strs+1232),
# 570 "opts.c" 3 4
((void *)0)
# 570 "opts.c"
,
# 570 "opts.c" 3 4
((void *)0)
# 570 "opts.c"
},
{ 0, 0,
0, 0,
(0x7fff +1),
0, 0, 0,
(0x0200000U | 0x0000100U), 0,
{
# 577 "opts.c" 3 4
((void *)0)
# 577 "opts.c"
},
# 578 "opts.c" 3 4
((void *)0)
# 578 "opts.c"
,
# 579 "opts.c" 3 4
((void *)0)
# 579 "opts.c"
,
# 579 "opts.c" 3 4
((void *)0)
# 579 "opts.c"
,
# 580 "opts.c" 3 4
((void *)0)
# 580 "opts.c"
,
(getdefs_opt_strs+1244),
# 581 "opts.c" 3 4
((void *)0)
# 581 "opts.c"
,
# 581 "opts.c" 3 4
((void *)0)
# 581 "opts.c"
,
# 582 "opts.c" 3 4
((void *)0)
# 582 "opts.c"
,
# 582 "opts.c" 3 4
((void *)0)
# 582 "opts.c"
},
{ 8, 0x1006,
8, 0x1006,
(0x7fff +1),
0, 1, 0,
(0x0000020U | ((OPARG_TYPE_STRING) << 12) | 0x0010000U), 0,
{
# 589 "opts.c" 3 4
((void *)0)
# 589 "opts.c"
},
# 590 "opts.c" 3 4
((void *)0)
# 590 "opts.c"
,
# 591 "opts.c" 3 4
((void *)0)
# 591 "opts.c"
,
# 591 "opts.c" 3 4
((void *)0)
# 591 "opts.c"
,
# 592 "opts.c" 3 4
((void *)0)
# 592 "opts.c"
,
(getdefs_opt_strs+1274), (getdefs_opt_strs+1309), (getdefs_opt_strs+1318),
# 594 "opts.c" 3 4
((void *)0)
# 594 "opts.c"
,
# 594 "opts.c" 3 4
((void *)0)
# 594 "opts.c"
},
{ 9, 0x1007,
9, 0x1007,
(0x7fff +1),
0,
# 599 "opts.c" 3 4
(0x7fff * 2 + 1)
# 599 "opts.c"
, 0,
(0x0000020U | 0x0000400U | ((OPARG_TYPE_STRING) << 12)), 0,
{
# 601 "opts.c" 3 4
((void *)0)
# 601 "opts.c"
},
# 602 "opts.c" 3 4
((void *)0)
# 602 "opts.c"
,
# 603 "opts.c" 3 4
((void *)0)
# 603 "opts.c"
,
# 603 "opts.c" 3 4
((void *)0)
# 603 "opts.c"
,
optionStackArg,
(getdefs_opt_strs+1327), (getdefs_opt_strs+1346), (getdefs_opt_strs+1353),
# 606 "opts.c" 3 4
((void *)0)
# 606 "opts.c"
,
# 606 "opts.c" 3 4
((void *)0)
# 606 "opts.c"
},
{ 10, 0x1008,
10, 0x1008,
(0x7fff +1),
0,
# 611 "opts.c" 3 4
(0x7fff * 2 + 1)
# 611 "opts.c"
, 0,
(0x0000020U | 0x0000400U | ((OPARG_TYPE_STRING) << 12)), 0,
{
# 613 "opts.c" 3 4
((void *)0)
# 613 "opts.c"
},
# 614 "opts.c" 3 4
((void *)0)
# 614 "opts.c"
,
# 615 "opts.c" 3 4
((void *)0)
# 615 "opts.c"
,
# 615 "opts.c" 3 4
((void *)0)
# 615 "opts.c"
,
optionStackArg,
(getdefs_opt_strs+1360), (getdefs_opt_strs+1393), (getdefs_opt_strs+1407),
# 618 "opts.c" 3 4
((void *)0)
# 618 "opts.c"
,
# 618 "opts.c" 3 4
((void *)0)
# 618 "opts.c"
},
{ 11, 0x1009,
11, 0x1009,
(0x7fff +1),
0,
# 623 "opts.c" 3 4
(0x7fff * 2 + 1)
# 623 "opts.c"
, 0,
(0x0000020U | 0x0000400U | ((OPARG_TYPE_STRING) << 12)), 0,
{
# 625 "opts.c" 3 4
((void *)0)
# 625 "opts.c"
},
# 626 "opts.c" 3 4
((void *)0)
# 626 "opts.c"
,
# 627 "opts.c" 3 4
((void *)0)
# 627 "opts.c"
,
# 627 "opts.c" 3 4
((void *)0)
# 627 "opts.c"
,
optionStackArg,
(getdefs_opt_strs+1421), (getdefs_opt_strs+1454), (getdefs_opt_strs+1459),
# 630 "opts.c" 3 4
((void *)0)
# 630 "opts.c"
,
# 630 "opts.c" 3 4
((void *)0)
# 630 "opts.c"
},
{ 12, 0x100A,
12, 0x100A,
(0x7fff +1),
0, 1, 0,
(0x0000020U | ((OPARG_TYPE_STRING) << 12) | 0x0010000U), 0,
{
# 637 "opts.c" 3 4
((void *)0)
# 637 "opts.c"
},
# 638 "opts.c" 3 4
((void *)0)
# 638 "opts.c"
,
# 639 "opts.c" 3 4
((void *)0)
# 639 "opts.c"
,
# 639 "opts.c" 3 4
((void *)0)
# 639 "opts.c"
,
# 640 "opts.c" 3 4
((void *)0)
# 640 "opts.c"
,
(getdefs_opt_strs+1464), (getdefs_opt_strs+1502), (getdefs_opt_strs+1510),
# 642 "opts.c" 3 4
((void *)0)
# 642 "opts.c"
,
# 642 "opts.c" 3 4
((void *)0)
# 642 "opts.c"
},
{ 13, 0x100B,
13, 0x100B,
(0x7fff +1),
0, 1, 0,
(0x0000020U | ((OPARG_TYPE_STRING) << 12) | 0x0010000U), 0,
{
# 649 "opts.c" 3 4
((void *)0)
# 649 "opts.c"
},
# 650 "opts.c" 3 4
((void *)0)
# 650 "opts.c"
,
# 651 "opts.c" 3 4
((void *)0)
# 651 "opts.c"
,
# 651 "opts.c" 3 4
((void *)0)
# 651 "opts.c"
,
# 652 "opts.c" 3 4
((void *)0)
# 652 "opts.c"
,
(getdefs_opt_strs+1518), (getdefs_opt_strs+1558), (getdefs_opt_strs+1566),
# 654 "opts.c" 3 4
((void *)0)
# 654 "opts.c"
,
# 654 "opts.c" 3 4
((void *)0)
# 654 "opts.c"
},
{ 0, 0,
0, 0,
(0x7fff +1),
0, 0, 0,
(0x0200000U | 0x0000100U), 0,
{
# 661 "opts.c" 3 4
((void *)0)
# 661 "opts.c"
},
# 662 "opts.c" 3 4
((void *)0)
# 662 "opts.c"
,
# 663 "opts.c" 3 4
((void *)0)
# 663 "opts.c"
,
# 663 "opts.c" 3 4
((void *)0)
# 663 "opts.c"
,
# 664 "opts.c" 3 4
((void *)0)
# 664 "opts.c"
,
(getdefs_opt_strs+1574),
# 665 "opts.c" 3 4
((void *)0)
# 665 "opts.c"
,
# 665 "opts.c" 3 4
((void *)0)
# 665 "opts.c"
,
# 666 "opts.c" 3 4
((void *)0)
# 666 "opts.c"
,
# 666 "opts.c" 3 4
((void *)0)
# 666 "opts.c"
},
{ 15, 0x100C,
15, 0x100C,
(0x7fff +1),
0,
# 671 "opts.c" 3 4
(0x7fff * 2 + 1)
# 671 "opts.c"
, 0,
(0x0000020U | 0x0000400U | ((OPARG_TYPE_STRING) << 12)), 0,
{
# 673 "opts.c" 3 4
((void *)0)
# 673 "opts.c"
},
# 674 "opts.c" 3 4
((void *)0)
# 674 "opts.c"
,
# 675 "opts.c" 3 4
((void *)0)
# 675 "opts.c"
,
# 675 "opts.c" 3 4
((void *)0)
# 675 "opts.c"
,
optionStackArg,
(getdefs_opt_strs+1617), (getdefs_opt_strs+1647), (getdefs_opt_strs+1653),
# 678 "opts.c" 3 4
((void *)0)
# 678 "opts.c"
,
# 678 "opts.c" 3 4
((void *)0)
# 678 "opts.c"
},
{ 0, 0,
0, 0,
(0x7fff +1),
0, 0, 0,
(0x0200000U | 0x0000100U), 0,
{
# 685 "opts.c" 3 4
((void *)0)
# 685 "opts.c"
},
# 686 "opts.c" 3 4
((void *)0)
# 686 "opts.c"
,
# 687 "opts.c" 3 4
((void *)0)
# 687 "opts.c"
,
# 687 "opts.c" 3 4
((void *)0)
# 687 "opts.c"
,
# 688 "opts.c" 3 4
((void *)0)
# 688 "opts.c"
,
(getdefs_opt_strs+1659),
# 689 "opts.c" 3 4
((void *)0)
# 689 "opts.c"
,
# 689 "opts.c" 3 4
((void *)0)
# 689 "opts.c"
,
# 690 "opts.c" 3 4
((void *)0)
# 690 "opts.c"
,
# 690 "opts.c" 3 4
((void *)0)
# 690 "opts.c"
},
{ 17, 0x100D,
# 693 "opts.c" 3 4
(0x7fff * 2 + 1)
# 693 "opts.c"
,
# 693 "opts.c" 3 4
(0x7fff * 2 + 1)
# 693 "opts.c"
,
INDEX_OPT_AUTOGEN,
0, 1, 0,
(0x0000020U | ((OPARG_TYPE_STRING) << 12)), 0,
{
# 697 "opts.c" 3 4
((void *)0)
# 697 "opts.c"
},
# 698 "opts.c" 3 4
((void *)0)
# 698 "opts.c"
,
# 699 "opts.c" 3 4
((void *)0)
# 699 "opts.c"
,
# 699 "opts.c" 3 4
((void *)0)
# 699 "opts.c"
,
# 700 "opts.c" 3 4
((void *)0)
# 700 "opts.c"
,
(getdefs_opt_strs+1699), (getdefs_opt_strs+1719), (getdefs_opt_strs+1726),
# 702 "opts.c" 3 4
((void *)0)
# 702 "opts.c"
,
# 702 "opts.c" 3 4
((void *)0)
# 702 "opts.c"
},
{ 18, 0x100E,
(0x7fff +1), 0,
(0x7fff +1),
0, 1, 0,
(0x0000800U | ((OPARG_TYPE_STRING) << 12) | 0x0010000U), 0,
{
# 709 "opts.c" 3 4
((void *)0)
# 709 "opts.c"
},
# 710 "opts.c" 3 4
((void *)0)
# 710 "opts.c"
,
# 711 "opts.c" 3 4
((void *)0)
# 711 "opts.c"
,
# 711 "opts.c" 3 4
((void *)0)
# 711 "opts.c"
,
# 712 "opts.c" 3 4
((void *)0)
# 712 "opts.c"
,
(getdefs_opt_strs+1733), (getdefs_opt_strs+1758), ((getdefs_opt_strs+1766) + 3),
(getdefs_opt_strs+1766), (getdefs_opt_strs+1182) },
{ 19, 0x100F,
19, 0x100F,
(0x7fff +1),
0, 1, 0,
(0x0000020U | ((OPARG_TYPE_STRING) << 12)), 0,
{
# 721 "opts.c" 3 4
((void *)0)
# 721 "opts.c"
},
# 722 "opts.c" 3 4
((void *)0)
# 722 "opts.c"
,
# 723 "opts.c" 3 4
((void *)0)
# 723 "opts.c"
,
# 723 "opts.c" 3 4
((void *)0)
# 723 "opts.c"
,
# 724 "opts.c" 3 4
((void *)0)
# 724 "opts.c"
,
(getdefs_opt_strs+1777), (getdefs_opt_strs+1791), (getdefs_opt_strs+1800),
# 726 "opts.c" 3 4
((void *)0)
# 726 "opts.c"
,
# 726 "opts.c" 3 4
((void *)0)
# 726 "opts.c"
},
{ 20, 0x1010,
20, 0x1010,
(0x7fff +1),
0,
# 731 "opts.c" 3 4
(0x7fff * 2 + 1)
# 731 "opts.c"
, 0,
(0x0000020U | 0x0000400U | ((OPARG_TYPE_STRING) << 12)), 0,
{
# 733 "opts.c" 3 4
((void *)0)
# 733 "opts.c"
},
# 734 "opts.c" 3 4
((void *)0)
# 734 "opts.c"
,
# 735 "opts.c" 3 4
((void *)0)
# 735 "opts.c"
, aAgargCantList,
optionStackArg,
(getdefs_opt_strs+1809), (getdefs_opt_strs+1826), (getdefs_opt_strs+1832),
# 738 "opts.c" 3 4
((void *)0)
# 738 "opts.c"
,
# 738 "opts.c" 3 4
((void *)0)
# 738 "opts.c"
},
{ 21, 0x1011,
21, 0x1011,
(0x7fff +1),
0, 1, 0,
(0x0000020U | ((OPARG_TYPE_STRING) << 12)), 0,
{
# 745 "opts.c" 3 4
((void *)0)
# 745 "opts.c"
},
# 746 "opts.c" 3 4
((void *)0)
# 746 "opts.c"
,
# 747 "opts.c" 3 4
((void *)0)
# 747 "opts.c"
, aBase_NameCantList,
# 748 "opts.c" 3 4
((void *)0)
# 748 "opts.c"
,
(getdefs_opt_strs+1838), (getdefs_opt_strs+1867), (getdefs_opt_strs+1877),
# 750 "opts.c" 3 4
((void *)0)
# 750 "opts.c"
,
# 750 "opts.c" 3 4
((void *)0)
# 750 "opts.c"
},
{ INDEX_OPT_VERSION, 0x1012,
(0x7fff +1), 0x1012,
(0x7fff +1),
0, 1, 0,
(((OPARG_TYPE_STATIC) << 12) | 0x0020000U | 0x0000100U), AOUSE_VERSION,
{ (char const*)"copyright" },
# 758 "opts.c" 3 4
((void *)0)
# 758 "opts.c"
,
# 759 "opts.c" 3 4
((void *)0)
# 759 "opts.c"
,
# 759 "opts.c" 3 4
((void *)0)
# 759 "opts.c"
,
optionPrintVersion,
(getdefs_opt_strs+1991),
# 761 "opts.c" 3 4
((void *)0)
# 761 "opts.c"
, (getdefs_opt_strs+2027),
# 762 "opts.c" 3 4
((void *)0)
# 762 "opts.c"
,
# 762 "opts.c" 3 4
((void *)0)
# 762 "opts.c"
},
{ INDEX_OPT_HELP, 0x1013,
(0x7fff +1), 0x1013,
(0x7fff +1),
0, 1, 0,
0x0020000U | 0x0000100U, AOUSE_HELP,
{
# 771 "opts.c" 3 4
((void *)0)
# 771 "opts.c"
},
# 772 "opts.c" 3 4
((void *)0)
# 772 "opts.c"
,
# 773 "opts.c" 3 4
((void *)0)
# 773 "opts.c"
,
# 773 "opts.c" 3 4
((void *)0)
# 773 "opts.c"
,
doUsageOpt,
(getdefs_opt_strs+1887),
# 775 "opts.c" 3 4
((void *)0)
# 775 "opts.c"
, (getdefs_opt_strs+1931),
# 776 "opts.c" 3 4
((void *)0)
# 776 "opts.c"
,
# 776 "opts.c" 3 4
((void *)0)
# 776 "opts.c"
},
{ INDEX_OPT_MORE_HELP, 0x1014,
(0x7fff +1), 0x1014,
(0x7fff +1),
0, 1, 0,
(0x0020000U | 0x0000100U), AOUSE_MORE_HELP,
{
# 783 "opts.c" 3 4
((void *)0)
# 783 "opts.c"
},
# 784 "opts.c" 3 4
((void *)0)
# 784 "opts.c"
,
# 785 "opts.c" 3 4
((void *)0)
# 785 "opts.c"
,
# 785 "opts.c" 3 4
((void *)0)
# 785 "opts.c"
,
optionPagedUsage,
(getdefs_opt_strs+1936),
# 787 "opts.c" 3 4
((void *)0)
# 787 "opts.c"
, (getdefs_opt_strs+1981),
# 788 "opts.c" 3 4
((void *)0)
# 788 "opts.c"
,
# 788 "opts.c" 3 4
((void *)0)
# 788 "opts.c"
},
{ INDEX_OPT_SAVE_OPTS, 0x1015,
(0x7fff +1), 0x1015,
(0x7fff +1),
0, 1, 0,
((OPARG_TYPE_STRING) << 12)
| 0x0010000U | 0x0000100U, AOUSE_SAVE_OPTS,
{
# 796 "opts.c" 3 4
((void *)0)
# 796 "opts.c"
},
# 797 "opts.c" 3 4
((void *)0)
# 797 "opts.c"
,
# 798 "opts.c" 3 4
((void *)0)
# 798 "opts.c"
,
# 798 "opts.c" 3 4
((void *)0)
# 798 "opts.c"
,
# 799 "opts.c" 3 4
((void *)0)
# 799 "opts.c"
,
(getdefs_opt_strs+2035),
# 800 "opts.c" 3 4
((void *)0)
# 800 "opts.c"
, (getdefs_opt_strs+2074),
# 801 "opts.c" 3 4
((void *)0)
# 801 "opts.c"
,
# 801 "opts.c" 3 4
((void *)0)
# 801 "opts.c"
},
{ INDEX_OPT_LOAD_OPTS, 0x1016,
(0x7fff +1), 0x1016,
(0x7fff +1),
0,
# 806 "opts.c" 3 4
(0x7fff * 2 + 1)
# 806 "opts.c"
, 0,
((OPARG_TYPE_STRING) << 12)
| 0x0040000U, AOUSE_LOAD_OPTS,
{
# 809 "opts.c" 3 4
((void *)0)
# 809 "opts.c"
},
# 810 "opts.c" 3 4
((void *)0)
# 810 "opts.c"
,
# 811 "opts.c" 3 4
((void *)0)
# 811 "opts.c"
,
# 811 "opts.c" 3 4
((void *)0)
# 811 "opts.c"
,
optionLoadOpt,
(getdefs_opt_strs+2084), (getdefs_opt_strs+2116), ((getdefs_opt_strs+2126) + 3),
(getdefs_opt_strs+2126), (getdefs_opt_strs+1182) }
};
# 826 "opts.c"
static char const * const apzHomeList[2] = {
getdefs_opt_strs+2262,
# 828 "opts.c" 3 4
((void *)0)
# 828 "opts.c"
};
# 857 "opts.c"
static void
doUsageOpt(tOptions * opts, tOptDesc * od)
{
int ex_code;
ex_code = GETDEFS_EXIT_SUCCESS;
optionUsage(&getdefsOptions, ex_code);
exit(GETDEFS_EXIT_FAILURE);
(void)opts;
(void)od;
}
# 878 "opts.c"
# 878 "opts.c" 3 4
_Noreturn
# 878 "opts.c"
extern void
vdie(int exit_code, char const * fmt, va_list ap)
{
char const * die_leader = "getdefs fatal error:\n";
fputs(die_leader,
# 882 "opts.c" 3 4
stderr
# 882 "opts.c"
);
vfprintf(
# 883 "opts.c" 3 4
stderr
# 883 "opts.c"
, fmt, ap);
fflush(
# 884 "opts.c" 3 4
stderr
# 884 "opts.c"
);
exit(exit_code);
}
# 896 "opts.c"
# 896 "opts.c" 3 4
_Noreturn
# 896 "opts.c"
extern void
die(int exit_code, char const * fmt, ...)
{
va_list ap;
# 900 "opts.c" 3 4
__builtin_va_start(
# 900 "opts.c"
ap
# 900 "opts.c" 3 4
,
# 900 "opts.c"
fmt
# 900 "opts.c" 3 4
)
# 900 "opts.c"
;
vdie(exit_code, fmt, ap);
}
# 912 "opts.c"
# 912 "opts.c" 3 4
_Noreturn
# 912 "opts.c"
extern void
fserr(int exit_code, char const * op, char const * fname)
{
char const * fserr_fmt = "fserr %d (%s) performing '%s' on %s\n";
die(exit_code, fserr_fmt,
# 916 "opts.c" 3 4
(*__errno_location ())
# 916 "opts.c"
, strerror(
# 916 "opts.c" 3 4
(*__errno_location ())
# 916 "opts.c"
), op, fname);
}
# 953 "opts.c"
tOptions getdefsOptions = {
172034,
0,
# 955 "opts.c" 3 4
((void *)0)
# 955 "opts.c"
,
( 0x000000U
+ 0x000004U
+ 0x000010U
+ 0x000080U
+ 0x000200U ),
0,
# 961 "opts.c" 3 4
((void *)0)
# 961 "opts.c"
,
# 962 "opts.c" 3 4
((void *)0)
# 962 "opts.c"
,
# 962 "opts.c" 3 4
((void *)0)
# 962 "opts.c"
, (getdefs_opt_strs+2139),
(getdefs_opt_strs+2272), (getdefs_opt_strs+0), (getdefs_opt_strs+268),
(getdefs_opt_strs+2614), apzHomeList, (getdefs_opt_strs+2147),
(getdefs_opt_strs+2319), (getdefs_opt_strs+2467), optDesc,
(getdefs_opt_strs+2283),
# 967 "opts.c" 3 4
((void *)0)
# 967 "opts.c"
,
# 967 "opts.c" 3 4
((void *)0)
# 967 "opts.c"
,
optionUsage,
# 969 "opts.c" 3 4
((void *)0)
# 969 "opts.c"
,
{ INDEX_OPT_MORE_HELP,
INDEX_OPT_SAVE_OPTS,
(0x7fff +1),
15
},
27 , 22 ,
(
# 979 "opts.c" 3 4
((void *)0)
# 979 "opts.c"
), (
# 979 "opts.c" 3 4
((void *)0)
# 979 "opts.c"
),
# 980 "opts.c" 3 4
((void *)0)
# 980 "opts.c"
,
# 980 "opts.c" 3 4
((void *)0)
# 980 "opts.c"
,
"/u/bkorb/tools/autogen-inst/share/autogen",
# 981 "opts.c" 3 4
((void *)0)
# 982 "opts.c"
};
# 10 "gd.c" 2
# 1 "getdefs.h" 1
# 37 "getdefs.h"
# 1 "/usr/include/regex.h" 1 3 4
# 23 "/usr/include/regex.h" 3 4
# 1 "../autoopts/sys/types.h" 1 3 4
# 20 "../autoopts/sys/types.h" 3 4
# 21 "../autoopts/sys/types.h" 3
# 24 "/usr/include/regex.h" 2 3 4
# 34 "/usr/include/regex.h" 3 4
# 34 "/usr/include/regex.h" 3 4
typedef long int s_reg_t;
typedef unsigned long int active_reg_t;
typedef unsigned long int reg_syntax_t;
# 181 "/usr/include/regex.h" 3 4
extern reg_syntax_t re_syntax_options;
# 308 "/usr/include/regex.h" 3 4
typedef enum
{
REG_ENOSYS = -1,
REG_NOERROR = 0,
REG_NOMATCH,
REG_BADPAT,
REG_ECOLLATE,
REG_ECTYPE,
REG_EESCAPE,
REG_ESUBREG,
REG_EBRACK,
REG_EPAREN,
REG_EBRACE,
REG_BADBR,
REG_ERANGE,
REG_ESPACE,
REG_BADRPT,
REG_EEND,
REG_ESIZE,
REG_ERPAREN
} reg_errcode_t;
# 357 "/usr/include/regex.h" 3 4
struct re_pattern_buffer
{
unsigned char *buffer;
unsigned long int allocated;
unsigned long int used;
reg_syntax_t syntax;
char *fastmap;
unsigned char * translate;
size_t re_nsub;
unsigned can_be_null : 1;
# 402 "/usr/include/regex.h" 3 4
unsigned regs_allocated : 2;
unsigned fastmap_accurate : 1;
unsigned no_sub : 1;
unsigned not_bol : 1;
unsigned not_eol : 1;
unsigned newline_anchor : 1;
};
typedef struct re_pattern_buffer regex_t;
typedef int regoff_t;
struct re_registers
{
unsigned num_regs;
regoff_t *start;
regoff_t *end;
};
# 452 "/usr/include/regex.h" 3 4
typedef struct
{
regoff_t rm_so;
regoff_t rm_eo;
} regmatch_t;
extern reg_syntax_t re_set_syntax (reg_syntax_t __syntax);
# 473 "/usr/include/regex.h" 3 4
extern const char *re_compile_pattern (const char *__pattern, size_t __length,
struct re_pattern_buffer *__buffer);
extern int re_compile_fastmap (struct re_pattern_buffer *__buffer);
extern int re_search (struct re_pattern_buffer *__buffer, const char *__string,
int __length, int __start, int __range,
struct re_registers *__regs);
extern int re_search_2 (struct re_pattern_buffer *__buffer,
const char *__string1, int __length1,
const char *__string2, int __length2, int __start,
int __range, struct re_registers *__regs, int __stop);
extern int re_match (struct re_pattern_buffer *__buffer, const char *__string,
int __length, int __start, struct re_registers *__regs);
extern int re_match_2 (struct re_pattern_buffer *__buffer,
const char *__string1, int __length1,
const char *__string2, int __length2, int __start,
struct re_registers *__regs, int __stop);
# 526 "/usr/include/regex.h" 3 4
extern void re_set_registers (struct re_pattern_buffer *__buffer,
struct re_registers *__regs,
unsigned int __num_regs,
regoff_t *__starts, regoff_t *__ends);
# 562 "/usr/include/regex.h" 3 4
extern int regcomp (regex_t *__restrict __preg,
const char *__restrict __pattern,
int __cflags);
extern int regexec (const regex_t *__restrict __preg,
const char *__restrict __string, size_t __nmatch,
regmatch_t __pmatch[__restrict],
int __eflags);
extern size_t regerror (int __errcode, const regex_t *__restrict __preg,
char *__restrict __errbuf, size_t __errbuf_size);
extern void regfree (regex_t *__preg);
# 38 "getdefs.h" 2
# 1 "../autoopts/ag-char-map.h" 1
# 39 "getdefs.h" 2
# 49 "getdefs.h"
# 49 "getdefs.h"
char zUserNameCh[ 256 ] = { '\0' };
char * pzIndexText =
# 54 "getdefs.h" 3 4
((void *)0)
# 54 "getdefs.h"
;
char * pzEndIndex =
# 55 "getdefs.h" 3 4
((void *)0)
# 55 "getdefs.h"
;
char * pzIndexEOF =
# 56 "getdefs.h" 3 4
((void *)0)
# 56 "getdefs.h"
;
size_t indexAlloc = 0;
char const * pzAutogen = "autogen";
char const zGlobal[] = "\n/* GLOBALDEFS */\n";
char const zLineId[] = "\n#line %d \"%s\"\n";
char const zMallocErr[] = "Error: could not allocate %d bytes for %s\n";
char const zAttribRe[] = "\n[^*\n]*\\*[ \t]*([a-z][a-z0-9_-]*):";
char const zNameTag[] = " = {\n name = '";
char const zMemberLine[] = " member = ";
char const zNoData[] = "error no data for definition in file %s line %d\n";
char const zAgDef[] = "autogen definitions %s;\n";
char const zDne[] = "/* -*- buffer-read-only: t -*- vi: set ro:\n *\n" " *\n * DO NOT EDIT THIS FILE (%s)\n *\n" " * It has been extracted by getdefs from the following files:\n" " *\n"
;
# 92 "getdefs.h"
regex_t define_re;
regex_t attrib_re;
FILE * evtFp = (FILE *)
# 99 "getdefs.h" 3 4
((void *)0)
# 99 "getdefs.h"
;
time_t modtime = 0;
char ** papzBlocks = (char **)
# 111 "getdefs.h" 3 4
((void *)0)
# 111 "getdefs.h"
;
size_t blkUseCt = 0;
size_t blkAllocCt = 0;
pid_t agPid = -1;
# 11 "gd.c" 2
# 1 "proto.h" 1
# 13 "proto.h"
static void
compress_def(char * pz);
static char *
list_attrib(char * pzText, char * pzOut);
static char *
emit_quote(char ** ppzText, char * pzOut);
static void
next_def_entry(char ** txt_pp, char const ** def_pp);
static void
emit_attribute(char const ** def_pp, char ** out_pp);
static char *
emit_subblock(char const * pzDefList, char * pzText, char * pzOut);
static char *
subblock_str(char ** ppzText, uint_t sepChar, char * pzOut);
static char *
loadFile(char const * pzFname);
# 12 "gd.c" 2
# 1 "gdemit.c" 1
# 45 "gdemit.c"
static void
compress_def(char * pz)
{
char * pzStrt = pz;
char * pzDest = pz;
char * pzSrc = pz;
int nlCt = 0;
nlCt = 0;
skip_leading_space:
while (
# 60 "gdemit.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 60 "gdemit.c"
*pzSrc
# 60 "gdemit.c" 3 4
))] & (unsigned short int) _ISspace)
# 60 "gdemit.c"
) {
if (*(pzSrc++) == '\n') {
nlCt++;
for (;;) {
switch (*(pzSrc++)) {
case '*':
while (*pzSrc == '*') pzSrc++;
goto skip_leading_space;
case '\0':
*pzStrt = '\0';
return;
case '\n':
nlCt++;
}
}
}
}
if (*pzSrc == '\0') {
*pzStrt = '\0';
return;
}
for (;;) {
if (nlCt > 0) {
*pzDest++ = '\n';
nlCt = 0;
}
for (;;) {
switch (*pzDest++ = *pzSrc++) {
case '\n':
if (*pzSrc != '\0')
goto lineDone;
case '\0':
pzDest--;
goto compressDone;
default:
;
}
} lineDone:;
if ((pzDest[-2] == ' ') || (pzDest[-2] == '\t')) {
do {
pzDest--;
} while ((pzDest[-2] == ' ') || (pzDest[-2] == '\t'));
pzDest[-1] = '\n';
}
foundNewline:
while (*pzSrc != '*') {
if (*pzSrc == '\0')
goto compressDone;
if (*pzSrc == '\n')
nlCt++;
pzSrc++;
}
while (*pzSrc == '*') pzSrc++;
while (
# 147 "gdemit.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 147 "gdemit.c"
*pzSrc
# 147 "gdemit.c" 3 4
))] & (unsigned short int) _ISspace)
# 147 "gdemit.c"
) {
if (*pzSrc == '\n')
goto foundNewline;
pzSrc++;
}
} compressDone:;
while ((pzDest > pzStrt) &&
# 161 "gdemit.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 161 "gdemit.c"
pzDest[-1]
# 161 "gdemit.c" 3 4
))] & (unsigned short int) _ISspace)
# 161 "gdemit.c"
) pzDest--;
*pzDest = '\0';
}
static char *
emitDefinition(char * pzDef, char * pzOut)
{
char sep_char;
char zEntryName[ 256 ];
{
char * p = zEntryName;
*pzOut++ = ' '; *pzOut++ = ' '; *pzOut++ = ' '; *pzOut++ = ' ';
while ((zUserNameCh[(unsigned char)(*pzDef)] & 2))
*p++ = *pzOut++ = *pzDef++;
if (p >= zEntryName + sizeof(zEntryName))
die(GETDEFS_EXIT_USAGE_ERROR, "names are constrained to %d bytes\n",
256);
*p = '\0';
}
compress_def(++pzDef);
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_SUBBLOCK]))->fOptState & 0x000000FU) == 0))) {
int ct = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_SUBBLOCK]).optCookie))->useCt);
char const ** ppz = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_SUBBLOCK]).optCookie))->apzArgs);
do {
char const * pz = *ppz++;
if (strcmp(pz, zEntryName) == 0)
return emit_subblock(pz, pzDef, pzOut);
} while (--ct > 0);
}
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_LISTATTR]))->fOptState & 0x000000FU) == 0))) {
int ct = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_LISTATTR]).optCookie))->useCt);
char const ** ppz = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_LISTATTR]).optCookie))->apzArgs);
do {
if (strcmp(*ppz++, zEntryName) == 0)
return list_attrib(pzDef, pzOut);
} while (--ct > 0);
}
if (
# 220 "gdemit.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 220 "gdemit.c"
*pzDef
# 220 "gdemit.c" 3 4
))] & (unsigned short int) _ISspace)
# 220 "gdemit.c"
)
sep_char = *pzDef++;
else sep_char = ' ';
switch (*pzDef) {
case '\0':
*pzOut++ = ';'; *pzOut++ = '\n';
break;
case '"':
case '\'':
case '{':
pzOut += sprintf(pzOut, " =%c%s;\n", sep_char, pzDef);
break;
default:
*pzOut++ = ' '; *pzOut++ = '='; *pzOut++ = sep_char;
*pzOut++ = '\'';
for (;;) {
switch (*pzOut++ = *pzDef++) {
case '\\':
*pzOut++ = '\\';
break;
case '\'':
pzOut[-1] = '\\';
*pzOut++ = '\'';
break;
case '\0':
goto unquotedDone;
}
} unquotedDone:;
pzOut[-1] = '\''; *pzOut++ = ';'; *pzOut++ = '\n';
break;
}
return pzOut;
}
static char *
list_attrib(char * pzText, char * pzOut)
{
static char const zStart[] = " = ";
uint_t sepChar = ',';
int FirstAttr = 1;
strcpy(pzOut, zStart);
pzOut += sizeof(zStart) - 1;
if (
# 285 "gdemit.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 285 "gdemit.c"
*pzText
# 285 "gdemit.c" 3 4
))] & (unsigned short int) _ISpunct)
# 285 "gdemit.c"
&& (*pzText != '"') && (*pzText != '\''))
sepChar = (uint_t)*(pzText++);
while (
# 287 "gdemit.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 287 "gdemit.c"
*pzText
# 287 "gdemit.c" 3 4
))] & (unsigned short int) _ISspace)
# 287 "gdemit.c"
) pzText++;
while (*pzText != '\0') {
if (FirstAttr)
FirstAttr = 0;
else
*(pzOut++) = ',';
if ((uint_t)*pzText == sepChar) {
*(pzOut++) = '\''; *(pzOut++) = '\'';
pzText++;
continue;
}
pzOut = subblock_str(&pzText, sepChar, pzOut);
}
if (FirstAttr)
pzOut -= sizeof(zStart) - 1;
*(pzOut++) = ';';
*(pzOut++) = '\n';
return pzOut;
}
static char *
emit_quote(char ** ppzText, char * pzOut)
{
char * pzText = *ppzText;
char svch = (*pzOut++ = *pzText++);
for (;;) {
switch (*pzOut++ = *pzText++) {
case '\\':
if ((*pzOut++ = *pzText++) != '\0')
break;
case '\0':
pzText--;
pzOut[-1] = svch;
svch = '\0';
case '"':
case '\'':
if (pzOut[-1] == svch)
goto quoteDone;
break;
}
}
quoteDone:
*ppzText = pzText;
return pzOut;
}
static void
next_def_entry(char ** txt_pp, char const ** def_pp)
{
char const * p = *def_pp;
(*txt_pp)++;
for (;;) {
switch (*++p) {
case ' ': p++;
case '\0':
*def_pp = p;
return;
}
}
}
static void
emit_attribute(char const ** def_pp, char ** out_pp)
{
static char const pfx[] = "\n ";
char * out = *out_pp;
char const * def = *def_pp;
memcpy(out, pfx, sizeof(pfx) - 1);
out += sizeof(pfx) - 1;
for (;;) {
*out++ = *def++;
switch (*def) {
case ' ': def++;
case '\0':
goto leave_emit_attribute;
}
}
leave_emit_attribute:
*out++ = ';';
*out_pp = out;
*def_pp = def;
}
static char *
emit_subblock(char const * pzDefList, char * pzText, char * pzOut)
{
static char const zStart[] = " = {";
static char const zEnd[] = "\n };\n";
uint_t sepChar = ',';
int FirstAttr = 1;
pzDefList += strlen(pzDefList) + 1;
strcpy(pzOut, zStart);
pzOut += sizeof(zStart) - 1;
if (
# 433 "gdemit.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 433 "gdemit.c"
*pzText
# 433 "gdemit.c" 3 4
))] & (unsigned short int) _ISpunct)
# 433 "gdemit.c"
&& (*pzText != '"') && (*pzText != '\''))
sepChar = (uint_t)*(pzText++);
do {
if ((uint_t)*pzText == sepChar) {
next_def_entry(&pzText, &pzDefList);
continue;
}
while (
# 453 "gdemit.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 453 "gdemit.c"
*pzText
# 453 "gdemit.c" 3 4
))] & (unsigned short int) _ISspace)
# 453 "gdemit.c"
) pzText++;
if (*pzText == '\0') {
if (FirstAttr)
emit_attribute(&pzDefList, &pzOut);
break;
}
emit_attribute(&pzDefList, &pzOut);
FirstAttr = 0;
if ((uint_t)*pzText == sepChar) {
pzText++;
continue;
}
pzOut[-1] = ' '; *pzOut++ = '='; *pzOut++ = ' ';
pzOut = subblock_str(&pzText, sepChar, pzOut);
*pzOut++ = ';';
} while (
# 486 "gdemit.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 486 "gdemit.c"
*pzDefList
# 486 "gdemit.c" 3 4
))] & (unsigned short int) _ISalpha)
# 486 "gdemit.c"
);
memcpy(pzOut, zEnd, sizeof(zEnd));
return pzOut + sizeof(zEnd) - 1;
}
static char *
subblock_str(char ** ppzText, uint_t sepChar, char * pzOut)
{
char * pzText = *ppzText;
char * pcComma;
char * pcEnd;
while (
# 507 "gdemit.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 507 "gdemit.c"
*pzText
# 507 "gdemit.c" 3 4
))] & (unsigned short int) _ISspace)
# 507 "gdemit.c"
) pzText++;
if ((*pzText == '"') || (*pzText == '\'')) {
pzOut = emit_quote(&pzText, pzOut);
while (
# 520 "gdemit.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 520 "gdemit.c"
*pzText
# 520 "gdemit.c" 3 4
))] & (unsigned short int) _ISspace)
# 520 "gdemit.c"
) pzText++;
if ((uint_t)*pzText == sepChar) {
pzText++;
while (
# 523 "gdemit.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 523 "gdemit.c"
*pzText
# 523 "gdemit.c" 3 4
))] & (unsigned short int) _ISspace)
# 523 "gdemit.c"
) pzText++;
}
*ppzText = pzText;
return pzOut;
}
# 536 "gdemit.c"
pcComma = strchr(pzText, (int)sepChar);
if (pcComma == (char *)
# 537 "gdemit.c" 3 4
((void *)0)
# 537 "gdemit.c"
) {
pcEnd = pzText + strlen(pzText);
pcComma = pcEnd-1;
} else {
pcEnd = pcComma;
}
while ((pcEnd > pzText) &&
# 547 "gdemit.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 547 "gdemit.c"
pcEnd[-1]
# 547 "gdemit.c" 3 4
))] & (unsigned short int) _ISspace)
# 547 "gdemit.c"
) pcEnd--;
*pzOut++ = '\'';
{
char svch = *pcEnd;
*pcEnd = '\0';
for (;;) {
char ch = *pzText++;
switch (ch) {
case '\'':
*pzOut++ = '\\';
default:
*pzOut++ = ch;
break;
case '\0':
goto copyDone;
}
} copyDone: ;
pzText = pcComma+1;
*pcEnd = svch;
}
*pzOut++ = '\'';
while (
# 575 "gdemit.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 575 "gdemit.c"
*pzText
# 575 "gdemit.c" 3 4
))] & (unsigned short int) _ISspace)
# 575 "gdemit.c"
) pzText++;
*ppzText = pzText;
return pzOut;
}
# 13 "gd.c" 2
# 1 "gdinit.c" 1
# 29 "gdinit.c"
static char const zNoList[] = "ERROR: block attr must have name list:\n\t%s\n";
static char *
compressOptionText(char * pzS, char * pzE)
{
char * pzR = pzS;
char * pzD = pzS;
for (;;) {
char ch;
if (pzS >= pzE)
break;
ch = (*(pzD++) = *(pzS++));
if (ch == '\n') {
while (*pzS != '*') {
pzS++;
if (pzS >= pzE)
goto compressDone;
}
}
} compressDone:;
{
size_t len = (size_t)(pzD - pzR);
pzD = malloc(len + 1);
if (pzD ==
# 63 "gdinit.c" 3 4
((void *)0)
# 63 "gdinit.c"
)
nomem_err(len + 1, "new option string");
memcpy(pzD, pzR, len);
pzD[ len ] = '\0';
}
while (pzS < pzE) *(pzS++) = ' ';
return pzD;
}
static char *
fixupSubblockString(char const * pzSrc)
{
char * pzString;
char * pzDest;
char * pzCopy;
pzString = strdup(pzSrc);
{
char * p = strchr(pzString, '=');
if (p ==
# 95 "gdinit.c" 3 4
((void *)0)
# 95 "gdinit.c"
)
die(GETDEFS_EXIT_INVALID_INPUT, zNoList, pzString);
pzDest = p++;
while ((pzDest > pzString) && is_ag_char_map_char((char)(pzDest[-1]), 0x00000400)) pzDest--;
*(pzDest++) = '\0';
while (is_ag_char_map_char((char)(*p), 0x00000C01)) p++;
if (*p == '\0')
die(GETDEFS_EXIT_INVALID_INPUT, zNoList, pzString);
pzCopy = p;
}
for (;;) {
if (! is_ag_char_map_char((char)(*pzCopy), 0x00180000)) {
fprintf(
# 120 "gdinit.c" 3 4
stderr
# 120 "gdinit.c"
, "ERROR: attribute names must start "
"with an alphabetic character:\n\t%s\n",
pzString);
(*getdefsOptions.pUsageProc)(&getdefsOptions,
# 123 "gdinit.c" 3 4
1
# 123 "gdinit.c"
);
}
while (is_ag_char_map_char((char)(*pzCopy), 0x003B0040))
*pzDest++ = *pzCopy++;
while (is_ag_char_map_char((char)(*pzCopy), 0x00000400)) pzCopy++;
if (*pzCopy == ',')
pzCopy++;
while (is_ag_char_map_char((char)(*pzCopy), 0x00000C01)) pzCopy++;
if (*pzCopy == '\0')
break;
*pzDest++ = ' ';
}
*pzDest = '\0';
return pzString;
}
# 167 "gdinit.c"
static void
loadStdin(void)
{
char z[ 4096 ];
int ct = 0;
char const ** ppz = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optCookie))->apzArgs);
if (isatty(
# 174 "gdinit.c" 3 4
0
# 174 "gdinit.c"
)) {
fputs("getdefs error: no inputs were specified and stdin is a tty\n",
# 176 "gdinit.c" 3 4
stderr
# 176 "gdinit.c"
);
(*getdefsOptions.pUsageProc)(&getdefsOptions,
# 177 "gdinit.c" 3 4
1
# 177 "gdinit.c"
);
}
while (fgets(z, (int)sizeof(z),
# 180 "gdinit.c" 3 4
stdin
# 180 "gdinit.c"
) !=
# 180 "gdinit.c" 3 4
((void *)0)
# 180 "gdinit.c"
) {
char * pz = z + strlen(z);
if (pz[-1] != '\n') {
static char const zErr[] =
"getdefs error: input line not newline terminated\n";
fputs(zErr,
# 186 "gdinit.c" 3 4
stderr
# 186 "gdinit.c"
);
exit(
# 187 "gdinit.c" 3 4
1
# 187 "gdinit.c"
);
}
while ((pz > z) &&
# 190 "gdinit.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 190 "gdinit.c"
pz[-1]
# 190 "gdinit.c" 3 4
))] & (unsigned short int) _ISspace)
# 190 "gdinit.c"
) pz--;
*pz = '\0';
pz = z;
while (
# 193 "gdinit.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 193 "gdinit.c"
*pz
# 193 "gdinit.c" 3 4
))] & (unsigned short int) _ISspace)
# 193 "gdinit.c"
) pz++;
if ((*pz == '\0') || (*pz == '#')) continue;
if (access(pz,
# 195 "gdinit.c" 3 4
4
# 195 "gdinit.c"
) != 0) continue;
if (ct++ == 0)
*ppz = strdup(z);
else
do { (getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optActualIndex = 15; (getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optActualValue = 0x100C; (getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).fOptState &= 0xFFFFF00U; (getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).fOptState |= 0x0000001U; (getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optArg.argString = (strdup(z)); (*((getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).pOptProc))(&getdefsOptions, getdefsOptions.pOptDesc + 15);; } while (
# 200 "gdinit.c" 3 4
0
# 200 "gdinit.c"
);
}
}
# 212 "gdinit.c"
static void
processEmbeddedOptions(char * pzText)
{
static char const zStStr[] = "/*=--";
static char const zEndSt[] = "=*/";
for (;;) {
char * pzStart = strstr(pzText, zStStr);
char * pzEnd;
int sblct = 0;
if (pzStart ==
# 223 "gdinit.c" 3 4
((void *)0)
# 223 "gdinit.c"
)
return;
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_SUBBLOCK]))->fOptState & 0x000000FU) == 0)))
sblct = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_SUBBLOCK]).optCookie))->useCt);
pzEnd = strstr(pzStart, zEndSt);
if (pzEnd ==
# 230 "gdinit.c" 3 4
((void *)0)
# 230 "gdinit.c"
)
return;
pzStart = compressOptionText(pzStart + sizeof(zStStr)-1, pzEnd);
optionLoadLine(&getdefsOptions, pzStart);
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_SUBBLOCK]))->fOptState & 0x000000FU) == 0)) && (sblct != (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_SUBBLOCK]).optCookie))->useCt))) {
char const ** ppz = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_SUBBLOCK]).optCookie))->apzArgs);
ppz[ sblct ] = fixupSubblockString(ppz[sblct]);
}
pzText = pzEnd + sizeof(zEndSt);
}
}
static void
set_define_re(void)
{
static char const default_pat[] =
"/\\*=(\\*|"
"([a-z][a-z0-9_]*(\\[[0-9]+\\]){0,1}|\\*)[ \t]+[a-z])";
static char const pat_wrapper[] = "/\\*=(%s)";
char const * def_pat;
# 257 "gdinit.c" 3 4
_Bool
# 257 "gdinit.c"
free_pat =
# 257 "gdinit.c" 3 4
0
# 257 "gdinit.c"
;
if ((! (! (((& (getdefsOptions.pOptDesc[INDEX_OPT_DEFS_TO_GET]))->fOptState & 0x000000FU) == 0))) || (*((getdefsOptions.pOptDesc[INDEX_OPT_DEFS_TO_GET]).optArg.argString) == '\0')) {
def_pat = default_pat;
} else if (strncmp(((getdefsOptions.pOptDesc[INDEX_OPT_DEFS_TO_GET]).optArg.argString), default_pat, 4) == 0) {
def_pat = ((getdefsOptions.pOptDesc[INDEX_OPT_DEFS_TO_GET]).optArg.argString);
} else {
char const * pz = ((getdefsOptions.pOptDesc[INDEX_OPT_DEFS_TO_GET]).optArg.argString);
size_t len = strlen((char *)pz) + 16;
char * bf = malloc(len);
if (bf ==
# 274 "gdinit.c" 3 4
((void *)0)
# 274 "gdinit.c"
)
nomem_err(len, "definition pattern");
snprintf(bf, len, pat_wrapper, pz);
def_pat = bf;
free_pat =
# 283 "gdinit.c" 3 4
1
# 283 "gdinit.c"
;
}
{
char zRER[256];
static char const regex_err[] =
"Regex error %d (%s): Cannot compile reg expr:\n\t%s\n";
int rerr = regcomp(&define_re, def_pat,
# 295 "gdinit.c" 3 4
1
# 295 "gdinit.c"
|
# 295 "gdinit.c" 3 4
(1 << 1)
# 295 "gdinit.c"
);
if (rerr != 0) {
regerror(rerr, &define_re, zRER, sizeof(zRER));
die(GETDEFS_EXIT_INVALID_INPUT, regex_err, rerr, zRER, def_pat);
}
if (free_pat)
free(((void *)(uintptr_t)(def_pat)));
rerr = regcomp(&attrib_re, zAttribRe,
# 304 "gdinit.c" 3 4
1
# 304 "gdinit.c"
|
# 304 "gdinit.c" 3 4
(1 << 1)
# 304 "gdinit.c"
);
if (rerr != 0) {
regerror(rerr, &attrib_re, zRER, sizeof(zRER));
die(GETDEFS_EXIT_INVALID_INPUT, regex_err, rerr, zRER, zAttribRe);
}
}
}
static void
set_modtime(void)
{
int ct = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optCookie))->useCt);
char const ** ppz = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optCookie))->apzArgs);
struct stat stb;
if ((ct == 1) && (strcmp(*ppz, "-") == 0)) {
loadStdin();
ct = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optCookie))->useCt);
ppz = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optCookie))->apzArgs);
}
do {
if (stat(*ppz++, &stb) != 0)
break;
if (!
# 337 "gdinit.c" 3 4
((((
# 337 "gdinit.c"
stb.st_mode
# 337 "gdinit.c" 3 4
)) & 0170000) == (0100000))
# 337 "gdinit.c"
) {
# 338 "gdinit.c" 3 4
(*__errno_location ())
# 338 "gdinit.c"
=
# 338 "gdinit.c" 3 4
22
# 338 "gdinit.c"
;
break;
}
if (++(stb.
# 342 "gdinit.c" 3 4
st_mtim.tv_sec
# 342 "gdinit.c"
) > modtime)
modtime = stb.
# 343 "gdinit.c" 3 4
st_mtim.tv_sec
# 343 "gdinit.c"
;
} while (--ct > 0);
if (ct > 0)
fserr(GETDEFS_EXIT_INVALID_INPUT, "stat", ppz[-1]);
}
# 363 "gdinit.c"
static void
validate_opts(void)
{
set_define_re();
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_SUBBLOCK]))->fOptState & 0x000000FU) == 0))) {
int ct = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_SUBBLOCK]).optCookie))->useCt);
char const ** ppz = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_SUBBLOCK]).optCookie))->apzArgs);
do {
*ppz = fixupSubblockString(*ppz);
ppz++;
} while (--ct > 0);
}
if (! (! (((& (getdefsOptions.pOptDesc[INDEX_OPT_INPUT]))->fOptState & 0x000000FU) == 0)))
do { (getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optActualIndex = 15; (getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optActualValue = 0x100C; (getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).fOptState &= 0xFFFFF00U; (getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).fOptState |= 0x0000001U; (getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optArg.argString = ("-"); (*((getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).pOptProc))(&getdefsOptions, getdefsOptions.pOptDesc + 15);; } while (
# 387 "gdinit.c" 3 4
0
# 387 "gdinit.c"
);
set_modtime();
if ( (! (((& (getdefsOptions.pOptDesc[INDEX_OPT_ORDERING]))->fOptState & 0x000000FU) == 0))
&& (((getdefsOptions.pOptDesc[INDEX_OPT_ORDERING]).optArg.argString) !=
# 398 "gdinit.c" 3 4
((void *)0)
# 398 "gdinit.c"
)) {
static char const preamble[] =
"# -*- buffer-read-only: t -*- vi: set ro:\n"
"#\n# DO NOT EDIT THIS FILE - it is auto-edited by getdefs\n";
pzIndexText = loadFile(((getdefsOptions.pOptDesc[INDEX_OPT_ORDERING]).optArg.argString));
if (pzIndexText ==
# 404 "gdinit.c" 3 4
((void *)0)
# 404 "gdinit.c"
) {
pzIndexText = pzEndIndex = pzIndexEOF = malloc((size_t)0x4000);
indexAlloc = 0x4000;
pzEndIndex += sprintf(pzEndIndex, "%s", preamble);
} else {
pzEndIndex = pzIndexEOF = pzIndexText + strlen(pzIndexText);
indexAlloc = (size_t)(pzEndIndex - pzIndexText) + 1;
}
option_strequate("_-^");
}
{
char const * pz = ((getdefsOptions.pOptDesc[INDEX_OPT_SRCFILE]).optArg.argString);
if ((pz ==
# 423 "gdinit.c" 3 4
((void *)0)
# 423 "gdinit.c"
) || (*pz == '\0'))
((getdefsOptions.pOptDesc[INDEX_OPT_SRCFILE]).optArg.argString) = "srcfile";
pz = ((getdefsOptions.pOptDesc[INDEX_OPT_LINENUM]).optArg.argString);
if ((pz ==
# 427 "gdinit.c" 3 4
((void *)0)
# 427 "gdinit.c"
) || (*pz == '\0'))
((getdefsOptions.pOptDesc[INDEX_OPT_LINENUM]).optArg.argString) = "linenum";
}
{
static char const ag_nm_chars[] =
"abcdefghijklmnopqrstuvwxyz"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"0123456789" "_-^";
static char const usr_nm_chars[] = ":.$%*!~<>&@";
char const * p = ag_nm_chars;
while (*p)
zUserNameCh[(unsigned char)(*p++)] = 3;
p = usr_nm_chars;
while (*p)
zUserNameCh[(unsigned char)(*p++)] = 1;
}
}
# 14 "gd.c" 2
# 1 "getdefs.c" 1
# 38 "getdefs.c"
static char const zBogusDef[] = "Bogus definition:\n%s\n";
typedef int (compar_func)(const void *, const void *);
static compar_func compar_text, compar_defname;
# 58 "getdefs.c"
static char *
assignIndex(char * pzOut, char * pzDef)
{
char * pzMatch;
size_t len = strlen(pzDef);
int idx;
option_strtransform(pzDef, pzDef);
pzMatch = strstr(pzIndexText, pzDef);
if (pzMatch !=
# 76 "getdefs.c" 3 4
((void *)0)
# 76 "getdefs.c"
) {
pzMatch += len;
while (
# 78 "getdefs.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 78 "getdefs.c"
*pzMatch
# 78 "getdefs.c" 3 4
))] & (unsigned short int) _ISspace)
# 78 "getdefs.c"
) pzMatch++;
while ((*pzOut++ = *pzMatch++) != ']') ;
return pzOut;
}
if (((size_t)(pzEndIndex - pzIndexText) + len + 64 ) > indexAlloc) {
char * pz;
indexAlloc += 0x1FFF;
indexAlloc &= (unsigned long)~0x0FFFUL;
pz = (char *)realloc(((void *)(uintptr_t)(pzIndexText)), indexAlloc);
if (pz ==
# 92 "getdefs.c" 3 4
((void *)0)
# 92 "getdefs.c"
) {
fputs("Realloc of index text failed\n",
# 93 "getdefs.c" 3 4
stderr
# 93 "getdefs.c"
);
exit(
# 94 "getdefs.c" 3 4
1
# 94 "getdefs.c"
);
}
if (pz != pzIndexText) {
pzIndexEOF = pz + (pzIndexEOF - pzIndexText);
pzEndIndex = pz + (pzEndIndex - pzIndexText);
pzIndexText = pz;
}
}
if (pzEndIndex == pzIndexText)
idx = (int)((getdefsOptions.pOptDesc[INDEX_OPT_FIRST_INDEX]).optArg.argInt);
else do {
char * pz = strrchr(pzDef, ' ');
*pz = '\0';
len = strlen(pzDef);
pzMatch = strstr(pzIndexText, pzDef);
if (pzMatch ==
# 123 "getdefs.c" 3 4
((void *)0)
# 123 "getdefs.c"
) {
idx = (int)((getdefsOptions.pOptDesc[INDEX_OPT_FIRST_INDEX]).optArg.argInt);
*pz = ' ';
break;
}
for (;;) {
char * pzn = strstr(pzMatch + len, pzDef);
if (pzn ==
# 134 "getdefs.c" 3 4
((void *)0)
# 134 "getdefs.c"
)
break;
pzMatch = pzn;
}
*pz = ' ';
pzMatch = strchr(pzMatch + len, '[');
idx = (int)strtol(pzMatch+1, (char **)
# 145 "getdefs.c" 3 4
((void *)0)
# 145 "getdefs.c"
, 0)+1;
} while (
# 146 "getdefs.c" 3 4
0
# 146 "getdefs.c"
);
pzEndIndex += sprintf(pzEndIndex, "%-40s [%d]\n", pzDef, idx);
pzOut += sprintf(pzOut, "[%d]", idx);
return pzOut;
}
static int
awaitAutogen(void)
{
int status;
waitpid(agPid, &status, 0);
if (
# 166 "getdefs.c" 3 4
(((
# 166 "getdefs.c"
status
# 166 "getdefs.c" 3 4
) & 0x7f) == 0)
# 166 "getdefs.c"
) {
status =
# 167 "getdefs.c" 3 4
(((
# 167 "getdefs.c"
status
# 167 "getdefs.c" 3 4
) & 0xff00) >> 8)
# 167 "getdefs.c"
;
if (status !=
# 168 "getdefs.c" 3 4
0
# 168 "getdefs.c"
) {
fprintf(
# 169 "getdefs.c" 3 4
stderr
# 169 "getdefs.c"
, "ERROR: %s exited with status %d\n",
pzAutogen, status);
}
return status;
}
if (
# 175 "getdefs.c" 3 4
(((signed char) (((
# 175 "getdefs.c"
status
# 175 "getdefs.c" 3 4
) & 0x7f) + 1) >> 1) > 0)
# 175 "getdefs.c"
) {
status =
# 176 "getdefs.c" 3 4
((
# 176 "getdefs.c"
status
# 176 "getdefs.c" 3 4
) & 0x7f)
# 176 "getdefs.c"
;
fprintf(
# 177 "getdefs.c" 3 4
stderr
# 177 "getdefs.c"
, "ERROR: %s exited due to %d signal (%s)\n",
pzAutogen, status, strsignal(status));
}
else
fprintf(
# 181 "getdefs.c" 3 4
stderr
# 181 "getdefs.c"
, "ERROR: %s exited due to unknown reason %d\n",
pzAutogen, status);
return
# 184 "getdefs.c" 3 4
1
# 184 "getdefs.c"
;
}
static tSuccess
buildPreamble(char ** def_scan_p, char ** out_scan_p, char const * fname, int line)
{
char * def_scan = *def_scan_p;
char * out_scan = *out_scan_p;
char def_bf[ 256 * 2 + 8 ];
char name_bf[ 256 ];
char * def_str = def_bf;
char * if_text =
# 199 "getdefs.c" 3 4
((void *)0)
# 199 "getdefs.c"
;
*def_str++ = '`';
if (! is_ag_char_map_char((char)(*def_scan), 0x00180040))
goto fail_return;
{
char * end = spn_ag_char_map_chars(def_scan + 1, 31);
size_t len = end - def_scan;
if (len >= 256)
goto fail_return;
memcpy(def_str, def_scan, len);
def_str += len;
*def_str = '\0';
def_scan = end;
}
def_scan += (int)strspn(def_scan, "* \t");
if (! is_ag_char_map_char((char)(*def_scan), 0x00180040))
goto fail_return;
{
char * end = spn_ag_char_map_chars(def_scan + 1, 26);
size_t len = end - def_scan;
if (len >= 256)
goto fail_return;
memcpy(name_bf, def_scan, len);
name_bf[len] = '\0';
def_scan = end;
}
def_scan = spn_ag_char_map_chars(def_scan, 10);
if (*def_scan == ',') {
def_scan++;
def_scan = spn_ag_char_map_chars(def_scan, 10);
if ((def_scan[0] == 'i') && (def_scan[1] == 'f'))
if_text = def_scan;
}
def_scan = strchr(def_scan, '\n');
if (def_scan ==
# 250 "getdefs.c" 3 4
((void *)0)
# 250 "getdefs.c"
)
goto fail_return;
*def_scan = '\0';
out_scan += sprintf(out_scan, zLineId, line, fname);
if (if_text !=
# 261 "getdefs.c" 3 4
((void *)0)
# 261 "getdefs.c"
)
out_scan += sprintf(out_scan, "#%s\n", if_text);
{
char * pz = def_bf+1;
while (*pz != '\0')
*out_scan++ = *pz++;
}
if (pzIndexText !=
# 274 "getdefs.c" 3 4
((void *)0)
# 274 "getdefs.c"
) {
sprintf(def_str, " %s'", name_bf);
out_scan = assignIndex(out_scan, def_bf);
}
out_scan += sprintf(out_scan, "%s%s';\n", zNameTag, name_bf);
*out_scan_p = out_scan;
*def_scan_p = def_scan;
*def_scan = '\n';
return (if_text !=
# 292 "getdefs.c" 3 4
((void *)0)
# 292 "getdefs.c"
) ? ((tSuccess) 1) : ((tSuccess) 0);
fail_return:
fprintf(
# 295 "getdefs.c" 3 4
stderr
# 295 "getdefs.c"
, zNoData, fname, line);
return ((tSuccess)-1);
}
static void
buildDefinition(char * pzDef, char const * pzFile, int line, char * pzOut)
{
static char const zSrcFile[] = " %s = '%s';\n";
static char const zLineNum[] = " %s = '%d';\n";
# 308 "getdefs.c" 3 4
_Bool
# 308 "getdefs.c"
these_are_global_defs;
tSuccess preamble;
int re_res;
char * pzNextDef =
# 311 "getdefs.c" 3 4
((void *)0)
# 311 "getdefs.c"
;
regmatch_t match[2];
if (*pzDef == '*') {
these_are_global_defs =
# 315 "getdefs.c" 3 4
1
# 315 "getdefs.c"
;
strcpy(pzOut, zGlobal);
pzOut += sizeof(zGlobal)-1;
pzOut += sprintf(pzOut, zLineId, line, pzFile);
pzDef = strchr(pzDef, '\n');
preamble = ((tSuccess) 1);
} else {
these_are_global_defs =
# 324 "getdefs.c" 3 4
0
# 324 "getdefs.c"
;
preamble = buildPreamble(&pzDef, &pzOut, pzFile, line);
if (((preamble) < ((tSuccess) 0))) {
*pzOut = '\0';
return;
}
}
for (;;) {
re_res = regexec(&attrib_re, pzDef, (sizeof(match)/sizeof(match[0])), match, 0);
switch (re_res) {
case 0:
pzDef[ match[0].rm_so ] = '\0';
if (pzNextDef !=
# 347 "getdefs.c" 3 4
((void *)0)
# 347 "getdefs.c"
)
pzOut = emitDefinition(pzNextDef, pzOut);
pzNextDef = pzDef = pzDef + match[1].rm_so;
break;
case REG_NOMATCH:
if (pzNextDef ==
# 356 "getdefs.c" 3 4
((void *)0)
# 356 "getdefs.c"
) {
*pzOut++ = '\n'; *pzOut++ = '#';
sprintf(pzOut, zNoData, pzFile, line);
fputs(pzOut,
# 359 "getdefs.c" 3 4
stderr
# 359 "getdefs.c"
);
pzOut += strlen(pzOut);
return;
}
pzOut = emitDefinition(pzNextDef, pzOut);
goto eachAttrDone;
break;
default:
{
char zRER[ 256 ];
static char const zErr[] = "error %d (%s) finding '%s' in\n%s\n\n";
regerror(re_res, &attrib_re, zRER, sizeof(zRER));
*pzOut++ = '\n';
*pzOut++ = '#';
sprintf(pzOut, zErr, re_res, zRER, zAttribRe, pzDef);
fprintf(
# 376 "getdefs.c" 3 4
stderr
# 376 "getdefs.c"
, "getdefs: %s", zErr);
return;
}
}
} eachAttrDone:;
if (these_are_global_defs) {
*pzOut = '\0';
return;
}
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_COMMON_ASSIGN]))->fOptState & 0x000000FU) == 0))) {
int ct = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_COMMON_ASSIGN]).optCookie))->useCt);
char const ** ppz = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_COMMON_ASSIGN]).optCookie))->apzArgs);
do {
pzOut += sprintf(pzOut, " %s;\n", *ppz++);
} while (--ct > 0);
}
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_SRCFILE]))->fOptState & 0x000000FU) == 0)))
pzOut += sprintf(pzOut, zSrcFile, ((getdefsOptions.pOptDesc[INDEX_OPT_SRCFILE]).optArg.argString), pzFile);
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_LINENUM]))->fOptState & 0x000000FU) == 0)))
pzOut += sprintf(pzOut, zLineNum, ((getdefsOptions.pOptDesc[INDEX_OPT_LINENUM]).optArg.argString), line);
if (((preamble) > ((tSuccess) 0)))
strcpy(pzOut, "};\n#endif\n");
else strcpy(pzOut, "};\n");
}
static int
compar_defname(const void * p1, const void * p2)
{
char const * pzS1 = *(char const * const *)p1;
char const * pz1 = strstr(pzS1, zNameTag);
char const * pzS2 = *(char const * const *)p2;
char const * pz2 = strstr(pzS2, zNameTag);
if (pz1 ==
# 421 "getdefs.c" 3 4
((void *)0)
# 421 "getdefs.c"
) {
if (strncmp(*(char const * const *)p1, zGlobal, sizeof(zGlobal)-1) == 0)
return -1;
die(GETDEFS_EXIT_USAGE_ERROR, zBogusDef, *(char const * const *)p1);
}
if (pz2 ==
# 428 "getdefs.c" 3 4
((void *)0)
# 428 "getdefs.c"
) {
if (strncmp(*(char const * const *)p2, zGlobal, sizeof(zGlobal)-1) == 0)
return 1;
die(GETDEFS_EXIT_USAGE_ERROR, zBogusDef, *(char const * const *)p2);
}
while ((pz1 > pzS1) && (*--pz1 != '\n')) ;
while ((pz2 > pzS2) && (*--pz2 != '\n')) ;
return strcmp(pz1, pz2);
}
# 453 "getdefs.c"
static int
compar_text(const void * p1, const void * p2)
{
char * pz1 = strstr(*(char const * const *)p1, zNameTag);
char * pe1;
char * pz2 = strstr(*(char const * const *)p2, zNameTag);
char * pe2;
int res;
if (pz1 ==
# 462 "getdefs.c" 3 4
((void *)0)
# 462 "getdefs.c"
) {
if (strncmp(*(char const * const *)p1, zGlobal, sizeof(zGlobal)-1) == 0)
return -1;
die(GETDEFS_EXIT_USAGE_ERROR, zBogusDef, *(char const * const *)p1);
}
if (pz2 ==
# 469 "getdefs.c" 3 4
((void *)0)
# 469 "getdefs.c"
) {
if (strncmp(*(char const * const *)p2, zGlobal, sizeof(zGlobal)-1) == 0)
return 1;
die(GETDEFS_EXIT_USAGE_ERROR, zBogusDef, *(char const * const *)p2);
}
pz1 += sizeof(zNameTag)-1;
pe1 = strchr(pz1, '\'');
if (pe1 ==
# 479 "getdefs.c" 3 4
((void *)0)
# 479 "getdefs.c"
)
die(GETDEFS_EXIT_USAGE_ERROR, zBogusDef, *(char const * const *)p1);
pz2 += sizeof(zNameTag)-1;
pe2 = strchr(pz2, '\'');
if (pe2 ==
# 485 "getdefs.c" 3 4
((void *)0)
# 485 "getdefs.c"
)
die(GETDEFS_EXIT_USAGE_ERROR, zBogusDef, *(char const * const *)p2);
*pe1 = *pe2 = '\0';
# 497 "getdefs.c"
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_ORDERING]))->fOptState & 0x000000FU) == 0)))
res = option_streqvcmp(pz1, pz2);
else res = strcmp(pz1, pz2);
*pe1 = *pe2 = '\'';
return res;
}
static void
doPreamble(FILE * outFp)
{
fprintf(outFp, zAgDef, ((getdefsOptions.pOptDesc[INDEX_OPT_TEMPLATE]).optArg.argString));
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_FILELIST]))->fOptState & 0x000000FU) == 0))) {
static char const zFmt[] = "%-12s = '%s';\n";
char const * pzName = ((getdefsOptions.pOptDesc[INDEX_OPT_FILELIST]).optArg.argString);
if ((pzName ==
# 520 "getdefs.c" 3 4
((void *)0)
# 520 "getdefs.c"
) || (*pzName == '\0'))
pzName = "infile";
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_INPUT]))->fOptState & 0x000000FU) == 0))) {
int ct = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optCookie))->useCt);
char const ** ppz = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optCookie))->apzArgs);
do {
fprintf(outFp, zFmt, pzName, *ppz++);
} while (--ct > 0);
}
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_COPY]))->fOptState & 0x000000FU) == 0))) {
int ct = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_COPY]).optCookie))->useCt);
char const ** ppz = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_COPY]).optCookie))->apzArgs);
do {
fprintf(outFp, zFmt, pzName, *ppz++);
} while (--ct > 0);
}
fputc('\n', outFp);
}
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_COPY]))->fOptState & 0x000000FU) == 0))) {
int ct = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_COPY]).optCookie))->useCt);
char const ** ppz = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_COPY]).optCookie))->apzArgs);
do {
fprintf(outFp, "#include %s\n", *ppz++);
} while (--ct > 0);
fputc('\n', outFp);
}
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_ASSIGN]))->fOptState & 0x000000FU) == 0))) {
int ct = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_ASSIGN]).optCookie))->useCt);
char const ** ppz = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_ASSIGN]).optCookie))->apzArgs);
do {
fprintf(outFp, "%s;\n", *ppz++);
} while (--ct > 0);
fputc('\n', outFp);
}
}
static char *
loadFile(char const * pzFname)
{
FILE * fp = fopen(pzFname, "r" "b");
int res;
char * pzText;
char * pzRead;
size_t rdsz;
if (fp == (FILE *)
# 583 "getdefs.c" 3 4
((void *)0)
# 583 "getdefs.c"
)
return
# 584 "getdefs.c" 3 4
((void *)0)
# 584 "getdefs.c"
;
{
struct stat stb;
res = fstat(fileno(fp), &stb);
if (res != 0)
fserr(GETDEFS_EXIT_INVALID_INPUT, "fstat", pzFname);
if (!
# 595 "getdefs.c" 3 4
((((
# 595 "getdefs.c"
stb.st_mode
# 595 "getdefs.c" 3 4
)) & 0170000) == (0100000))
# 595 "getdefs.c"
) {
# 596 "getdefs.c" 3 4
(*__errno_location ())
# 596 "getdefs.c"
=
# 596 "getdefs.c" 3 4
22
# 596 "getdefs.c"
;
fserr(GETDEFS_EXIT_INVALID_INPUT, "fstat", pzFname);
}
rdsz = (size_t)stb.st_size;
if (rdsz < 16)
die(GETDEFS_EXIT_USAGE_ERROR,
"Error file %s only contains %d bytes.\n"
"\tit cannot contain autogen definitions\n",
pzFname, (int)rdsz);
}
pzRead = pzText = (char *)malloc(rdsz + 1);
if (pzText ==
# 612 "getdefs.c" 3 4
((void *)0)
# 612 "getdefs.c"
)
die(GETDEFS_EXIT_USAGE_ERROR, "Error: could not allocate %d bytes\n",
(int)rdsz + 1);
do {
size_t rdct = fread(((void *)(uintptr_t)(pzRead)), (size_t)1, rdsz, fp);
if (rdct == 0)
fserr(GETDEFS_EXIT_INVALID_INPUT, "fread", pzFname);
pzRead += rdct;
rdsz -= rdct;
} while (rdsz > 0);
*pzRead = '\0';
fclose(fp);
return pzText;
}
static void
printEntries(FILE * fp)
{
size_t ct = blkUseCt;
char ** ppz = papzBlocks;
if (ct == 0)
exit(
# 645 "getdefs.c" 3 4
1
# 645 "getdefs.c"
);
for (;;) {
char * pz = *(ppz++);
fputs(pz, fp);
free(((void *)(uintptr_t)(pz)));
if (--ct == 0)
break;
fputc('\n', fp);
}
free(((void *)(uintptr_t)(papzBlocks)));
}
static void
processFile(char const * fname)
{
char * pzText = loadFile(fname);
char * pzScan;
char * pzNext;
int lineNo = 1;
regmatch_t matches[1 +1];
if (pzText ==
# 671 "getdefs.c" 3 4
((void *)0)
# 671 "getdefs.c"
) {
# 672 "getdefs.c" 3 4
(*__errno_location ())
# 672 "getdefs.c"
=
# 672 "getdefs.c" 3 4
12
# 672 "getdefs.c"
;
fserr(GETDEFS_EXIT_INVALID_INPUT, "open+read", fname);
}
processEmbeddedOptions(pzText);
pzNext = pzText;
while (pzScan = pzNext,
regexec(&define_re, pzScan, (sizeof(matches)/sizeof(matches[0])), matches, 0) == 0) {
static char const zNoEnd[] =
"Error: definition in %s at line %d has no end\n";
static char const zNoSubexp[] =
"Warning: entry type not found on line %d in %s:\n\t%s\n";
int linesInDef = 0;
char * pzDef;
char * pzDta;
char * pzOut;
if (matches[1].rm_so == -1) {
char * pz =
# 696 "getdefs.c" 3 4
((void *)0)
# 696 "getdefs.c"
;
char ch = '\0';
pzDef = pzScan + matches[0].rm_so;
if (strlen(pzDef) > 30) {
pz = pzDef + 30;
ch = *pz;
*pz = '\0';
}
fprintf(
# 706 "getdefs.c" 3 4
stderr
# 706 "getdefs.c"
, zNoSubexp, lineNo, fname, pzDef);
if (pz !=
# 707 "getdefs.c" 3 4
((void *)0)
# 707 "getdefs.c"
)
*pz = ch;
continue;
}
pzDef = pzScan + matches[0].rm_so + sizeof("/*=") - 1;
pzNext = strstr(pzDef, "=*/");
if (pzNext ==
# 714 "getdefs.c" 3 4
((void *)0)
# 714 "getdefs.c"
)
die(GETDEFS_EXIT_USAGE_ERROR, zNoEnd, fname, lineNo);
*pzNext = '\0';
pzNext += 3;
for (;;) {
pzScan = strchr(pzScan, '\n');
if (pzScan++ ==
# 724 "getdefs.c" 3 4
((void *)0)
# 724 "getdefs.c"
)
break;
if (pzScan >= pzDef)
break;
lineNo++;
}
pzOut = pzDta = (char *)malloc(2 * strlen(pzDef) + 8000);
pzScan = pzDef;
for (;;) {
pzScan = strchr(pzScan, '\n');
if (pzScan++ ==
# 746 "getdefs.c" 3 4
((void *)0)
# 746 "getdefs.c"
)
break;
linesInDef++;
}
buildDefinition(pzDef, fname, lineNo, pzOut);
pzDta = (char *)realloc(((void *)(uintptr_t)(pzDta)), strlen(pzDta) + 1);
lineNo += linesInDef;
if (++blkUseCt > blkAllocCt) {
blkAllocCt += 32;
papzBlocks = (char **)realloc(((void *)(uintptr_t)(papzBlocks)),
blkAllocCt * sizeof(char *));
if (papzBlocks == (char **)
# 763 "getdefs.c" 3 4
((void *)0)
# 763 "getdefs.c"
)
die(GETDEFS_EXIT_USAGE_ERROR, "Realloc error for %d pointers\n",
(int)blkAllocCt);
}
papzBlocks[ blkUseCt-1 ] = pzDta;
}
free(((void *)(uintptr_t)(pzText)));
}
# 781 "getdefs.c"
static void
set_first_idx(void)
{
char zNm[ 128 ] = { '\0' };
size_t nmLn = 1;
int ct = (int)blkUseCt;
char ** ppz = papzBlocks;
if (ct == 0)
exit(
# 790 "getdefs.c" 3 4
1
# 790 "getdefs.c"
);
for (; --ct >= 0; ppz++) {
char * pzOld = *ppz;
int changed = (option_strneqvcmp(pzOld, zNm, (int)nmLn) != 0);
char * pzNew;
if (! changed) {
if (
# 803 "getdefs.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 803 "getdefs.c"
pzOld[ nmLn ]
# 803 "getdefs.c" 3 4
))] & (unsigned short int) _ISspace)
# 803 "getdefs.c"
|| (pzOld[nmLn] == '['))
continue;
}
pzNew = zNm;
nmLn = 0;
while (
# 809 "getdefs.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 809 "getdefs.c"
*pzOld
# 809 "getdefs.c" 3 4
))] & (unsigned short int) _ISalnum)
# 810 "getdefs.c"
|| (*pzOld == '_') || (*pzOld == '-') || (*pzOld == '^')) {
nmLn++;
*(pzNew++) = *(pzOld++);
}
*pzNew = '\0';
if (*pzOld != '[') {
pzNew = (char *)malloc(strlen(pzOld) + nmLn + 10);
sprintf(pzNew, "%s[%d]%s", zNm,
(int)((getdefsOptions.pOptDesc[INDEX_OPT_FIRST_INDEX]).optArg.argInt), pzOld);
free(((void *)(uintptr_t)(*ppz)));
*ppz = pzNew;
}
}
}
static FILE *
open_ag_file(char ** pzBase)
{
switch (((getdefsOptions.pOptDesc[INDEX_OPT_AUTOGEN]).optActualIndex)) {
case INDEX_OPT_OUTPUT:
{
static char const zFileFmt[] = " * %s\n";
FILE * fp;
if (*pzBase !=
# 839 "getdefs.c" 3 4
((void *)0)
# 839 "getdefs.c"
)
free(*pzBase);
if (strcmp(((getdefsOptions.pOptDesc[INDEX_OPT_OUTPUT]).optArg.argString), "-") == 0)
return
# 843 "getdefs.c" 3 4
stdout
# 843 "getdefs.c"
;
unlink(((getdefsOptions.pOptDesc[INDEX_OPT_OUTPUT]).optArg.argString));
fp = fopen(((getdefsOptions.pOptDesc[INDEX_OPT_OUTPUT]).optArg.argString), "w" "b");
fprintf(fp, zDne, ((getdefsOptions.pOptDesc[INDEX_OPT_OUTPUT]).optArg.argString));
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_INPUT]))->fOptState & 0x000000FU) == 0))) {
int ct = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optCookie))->useCt);
char const ** ppz = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optCookie))->apzArgs);
do {
fprintf(fp, zFileFmt, *ppz++);
} while (--ct > 0);
}
fputs(" */\n", fp);
return fp;
}
case INDEX_OPT_AUTOGEN:
if (! (! ((& (getdefsOptions.pOptDesc[INDEX_OPT_AUTOGEN]))->fOptState & 0x0000020U))) {
if (*pzBase !=
# 863 "getdefs.c" 3 4
((void *)0)
# 863 "getdefs.c"
)
free(*pzBase);
return
# 866 "getdefs.c" 3 4
stdout
# 866 "getdefs.c"
;
}
if ( ( ((getdefsOptions.pOptDesc[INDEX_OPT_AUTOGEN]).optArg.argString) !=
# 869 "getdefs.c" 3 4
((void *)0)
# 869 "getdefs.c"
)
&& (*((getdefsOptions.pOptDesc[INDEX_OPT_AUTOGEN]).optArg.argString) != '\0' ))
pzAutogen = ((getdefsOptions.pOptDesc[INDEX_OPT_AUTOGEN]).optArg.argString);
break;
}
return
# 876 "getdefs.c" 3 4
((void *)0)
# 876 "getdefs.c"
;
}
static FILE *
open_ag_proc_pipe(char ** pzBase)
{
FILE * agFp;
int pfd[2];
if (pipe(pfd) != 0)
fserr(GETDEFS_EXIT_FAILURE, "pipe", "(2)");
agPid = fork();
switch (agPid) {
case 0:
close(pfd[1]);
if (dup2(pfd[0],
# 898 "getdefs.c" 3 4
0
# 898 "getdefs.c"
) != 0)
fserr(GETDEFS_EXIT_FAILURE, "dup2", "STDIN_FILENO");
break;
case -1:
fserr(GETDEFS_EXIT_FAILURE, "fork", "(2)");
default:
close(pfd[0]);
agFp = fdopen(pfd[1], "w" "b");
if (agFp == (FILE *)
# 913 "getdefs.c" 3 4
((void *)0)
# 913 "getdefs.c"
)
fserr(GETDEFS_EXIT_FAILURE, "fdopen", "pipe");
free(*pzBase);
return agFp;
}
return
# 919 "getdefs.c" 3 4
((void *)0)
# 919 "getdefs.c"
;
}
static void
exec_autogen(char ** pzBase)
{
char const ** paparg;
char const ** pparg;
int argCt = 5;
if (! (! (((& (getdefsOptions.pOptDesc[INDEX_OPT_AGARG]))->fOptState & 0x000000FU) == 0))) {
paparg = pparg = malloc((size_t)argCt * sizeof(char *));
*pparg++ = pzAutogen;
} else {
int ct = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_AGARG]).optCookie))->useCt);
char const ** ppz = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_AGARG]).optCookie))->apzArgs);
argCt += ct;
paparg = pparg = malloc((size_t)argCt * sizeof(char *));
*pparg++ = pzAutogen;
do {
*pparg++ = *ppz++;
} while (--ct > 0);
}
*pparg++ = *pzBase;
*pparg++ = "--";
*pparg++ = "-";
*pparg++ =
# 955 "getdefs.c" 3 4
((void *)0)
# 955 "getdefs.c"
;
# 970 "getdefs.c"
execvp(pzAutogen, (char **)((void *)(uintptr_t)(paparg)));
die(GETDEFS_EXIT_FAILURE, "exec of %s %s %s %s\n",
paparg[0], paparg[1], paparg[2], paparg[3]);
}
static FILE *
startAutogen(void)
{
char * pz;
FILE * agFp;
char * pzBase =
# 983 "getdefs.c" 3 4
((void *)0)
# 983 "getdefs.c"
;
# 993 "getdefs.c"
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_BASE_NAME]))->fOptState & 0x000000FU) == 0))) {
pzBase = malloc(strlen(((getdefsOptions.pOptDesc[INDEX_OPT_BASE_NAME]).optArg.argString)) + 3);
strcpy(pzBase, "-b");
strcpy(pzBase+2, ((getdefsOptions.pOptDesc[INDEX_OPT_BASE_NAME]).optArg.argString));
}
else {
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_DEFS_TO_GET]))->fOptState & 0x000000FU) == 0))) {
char const * pzS = ((getdefsOptions.pOptDesc[INDEX_OPT_DEFS_TO_GET]).optArg.argString);
pzBase = malloc(strlen(pzS) + 3);
strcpy(pzBase, "-b");
pz = pzBase + 2;
while (
# 1009 "getdefs.c" 3 4
((*__ctype_b_loc ())[(int) ((
# 1009 "getdefs.c"
*pzS
# 1009 "getdefs.c" 3 4
))] & (unsigned short int) _ISalnum)
# 1009 "getdefs.c"
|| (*pzS == '_'))
*pz++ = *pzS++;
if (pz == pzBase + 2) {
free(pzBase);
pzBase =
# 1013 "getdefs.c" 3 4
((void *)0)
# 1013 "getdefs.c"
;
}
else
*pz = '\0';
}
if (pzBase ==
# 1022 "getdefs.c" 3 4
((void *)0)
# 1022 "getdefs.c"
) {
char zSrch[
# 1023 "getdefs.c" 3 4
4096
# 1023 "getdefs.c"
];
if (getcwd(zSrch, sizeof(zSrch)) ==
# 1024 "getdefs.c" 3 4
((void *)0)
# 1024 "getdefs.c"
)
fserr(GETDEFS_EXIT_FAILURE, "getcwd", ".");
pz = strrchr(zSrch, '/');
if (pz ==
# 1028 "getdefs.c" 3 4
((void *)0)
# 1028 "getdefs.c"
)
pz = zSrch;
else pz++;
pzBase = malloc(strlen(pz) + 3);
strcpy(pzBase, "-b");
strcpy(pzBase+2, pz);
}
}
if (! (! (((& (getdefsOptions.pOptDesc[INDEX_OPT_TEMPLATE]))->fOptState & 0x000000FU) == 0)))
do { (getdefsOptions.pOptDesc[INDEX_OPT_TEMPLATE]).optActualIndex = 19; (getdefsOptions.pOptDesc[INDEX_OPT_TEMPLATE]).optActualValue = 0x100F; (getdefsOptions.pOptDesc[INDEX_OPT_TEMPLATE]).fOptState &= 0xFFFFF00U; (getdefsOptions.pOptDesc[INDEX_OPT_TEMPLATE]).fOptState |= 0x0000001U; (getdefsOptions.pOptDesc[INDEX_OPT_TEMPLATE]).optArg.argString = (strdup(pzBase+2)); } while (
# 1043 "getdefs.c" 3 4
0
# 1043 "getdefs.c"
);
# 1053 "getdefs.c"
if ((! (((& (getdefsOptions.pOptDesc[INDEX_OPT_AUTOGEN]))->fOptState & 0x000000FU) == 0))) {
agFp = open_ag_file(&pzBase);
if (agFp !=
# 1055 "getdefs.c" 3 4
((void *)0)
# 1055 "getdefs.c"
)
return agFp;
}
agFp = open_ag_proc_pipe(&pzBase);
if (agFp !=
# 1060 "getdefs.c" 3 4
((void *)0)
# 1060 "getdefs.c"
)
return agFp;
exec_autogen(&pzBase);
return (FILE *)
# 1064 "getdefs.c" 3 4
((void *)0)
# 1064 "getdefs.c"
;
}
static void
update_db(void)
{
FILE * fp;
if (chmod(((getdefsOptions.pOptDesc[INDEX_OPT_ORDERING]).optArg.argString), 0666) == 0) {
fp = fopen(((getdefsOptions.pOptDesc[INDEX_OPT_ORDERING]).optArg.argString), "a" "b");
} else {
unlink(((getdefsOptions.pOptDesc[INDEX_OPT_ORDERING]).optArg.argString));
fp = fopen(((getdefsOptions.pOptDesc[INDEX_OPT_ORDERING]).optArg.argString), "w" "b");
pzIndexEOF = pzIndexText;
}
if (fp == (FILE *)
# 1085 "getdefs.c" 3 4
((void *)0)
# 1085 "getdefs.c"
)
fserr(GETDEFS_EXIT_FAILURE, "fopen-w+", ((getdefsOptions.pOptDesc[INDEX_OPT_ORDERING]).optArg.argString));
fwrite(pzIndexEOF, (size_t)(pzEndIndex - pzIndexEOF), (size_t)1, fp);
fchmod(fileno(fp), 0444);
fclose(fp);
}
int
main(int argc, char ** argv)
{
FILE * outFp;
optionProcess(&getdefsOptions, argc, argv);
validate_opts();
outFp = startAutogen();
doPreamble(outFp);
{
int ct = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optCookie))->useCt);
char const ** ppz = (((tArgList*)((getdefsOptions.pOptDesc[INDEX_OPT_INPUT]).optCookie))->apzArgs);
do {
processFile(*ppz++);
} while (--ct > 0);
}
if ((pzIndexText ==
# 1130 "getdefs.c" 3 4
((void *)0)
# 1130 "getdefs.c"
) && (! (((& (getdefsOptions.pOptDesc[INDEX_OPT_FIRST_INDEX]))->fOptState & 0x000000FU) == 0))) {
qsort(((void *)(uintptr_t)(papzBlocks)), blkUseCt, sizeof(char *), compar_defname);
set_first_idx();
}
else if ((! ((& (getdefsOptions.pOptDesc[INDEX_OPT_ORDERING]))->fOptState & 0x0000020U)) && (blkUseCt > 1))
qsort(((void *)(uintptr_t)(papzBlocks)), blkUseCt, sizeof(char *), &compar_text);
printEntries(outFp);
fchmod(fileno(outFp),
# 1140 "getdefs.c" 3 4
0400
# 1140 "getdefs.c"
|
# 1140 "getdefs.c" 3 4
(0400 >> 3)
# 1140 "getdefs.c"
|
# 1140 "getdefs.c" 3 4
((0400 >> 3) >> 3)
# 1140 "getdefs.c"
);
fclose(outFp);
if ( (((getdefsOptions.pOptDesc[INDEX_OPT_AUTOGEN]).optActualIndex) == INDEX_OPT_OUTPUT)
&& (outFp !=
# 1149 "getdefs.c" 3 4
stdout
# 1149 "getdefs.c"
) ) {
struct utimbuf tbuf;
tbuf.actime = time((time_t *)
# 1151 "getdefs.c" 3 4
((void *)0)
# 1151 "getdefs.c"
);
tbuf.modtime = modtime + 1;
utime(((getdefsOptions.pOptDesc[INDEX_OPT_OUTPUT]).optArg.argString), &tbuf);
}
if ((pzIndexText !=
# 1164 "getdefs.c" 3 4
((void *)0)
# 1164 "getdefs.c"
) && (pzEndIndex != pzIndexEOF))
update_db();
if (agPid != -1)
return awaitAutogen();
return
# 1170 "getdefs.c" 3 4
0
# 1170 "getdefs.c"
;
}
# 14 "gd.c" 2
More information about the Gcc
mailing list