Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 35401 Details for
Bug 57025
internal compiler error: in select_spill, at ra-colorize.c:972
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
preprocessed source
ccJOiGg8.out (text/plain), 310.15 KB, created by
Selecter
on 2004-07-14 08:32:27 UTC
(
hide
)
Description:
preprocessed source
Filename:
MIME Type:
Creator:
Selecter
Created:
2004-07-14 08:32:27 UTC
Size:
310.15 KB
patch
obsolete
>// /usr/libexec/gcc/i686-pc-linux-gnu/3.4.1/cc1 -quiet -I. -I. -I./include -I./lib -DPROGRAM="bash" -DCONF_HOSTTYPE="i686" -DCONF_OSTYPE="linux-gnu" -DCONF_MACHTYPE="i686-pc-linux-gnu" -DCONF_VENDOR="pc" -DSHELL -DHAVE_CONFIG_H y.tab.c -fPIE -fstack-protector -fstack-protector-all -quiet -dumpbase y.tab.c -march=pentium4 -auxbase y.tab -O2 -fnew-ra -ftracer -o - -frandom-seed=0 ># 1 "y.tab.c" ># 1 "<built-in>" ># 1 "<command line>" ># 1 "y.tab.c" ># 55 "y.tab.c" > enum yytokentype { > IF = 258, > THEN = 259, > ELSE = 260, > ELIF = 261, > FI = 262, > CASE = 263, > ESAC = 264, > FOR = 265, > SELECT = 266, > WHILE = 267, > UNTIL = 268, > DO = 269, > DONE = 270, > FUNCTION = 271, > COND_START = 272, > COND_END = 273, > COND_ERROR = 274, > IN = 275, > BANG = 276, > TIME = 277, > TIMEOPT = 278, > WORD = 279, > ASSIGNMENT_WORD = 280, > NUMBER = 281, > ARITH_CMD = 282, > ARITH_FOR_EXPRS = 283, > COND_CMD = 284, > AND_AND = 285, > OR_OR = 286, > GREATER_GREATER = 287, > LESS_LESS = 288, > LESS_AND = 289, > LESS_LESS_LESS = 290, > GREATER_AND = 291, > SEMI_SEMI = 292, > LESS_LESS_MINUS = 293, > AND_GREATER = 294, > LESS_GREATER = 295, > GREATER_BAR = 296, > yacc_EOF = 297 > }; ># 21 "./parse.y" > ># 1 "config.h" 1 ># 146 "config.h" ># 1 "config-top.h" 1 ># 147 "config.h" 2 ># 877 "config.h" ># 1 "config-bot.h" 1 ># 108 "config-bot.h" ># 1 "/usr/include/wchar.h" 1 3 4 ># 28 "/usr/include/wchar.h" 3 4 ># 1 "/usr/include/features.h" 1 3 4 ># 295 "/usr/include/features.h" 3 4 ># 1 "/usr/include/sys/cdefs.h" 1 3 4 ># 296 "/usr/include/features.h" 2 3 4 ># 318 "/usr/include/features.h" 3 4 ># 1 "/usr/include/gnu/stubs.h" 1 3 4 ># 319 "/usr/include/features.h" 2 3 4 ># 29 "/usr/include/wchar.h" 2 3 4 ># 37 "/usr/include/wchar.h" 3 4 ># 1 "/usr/include/stdio.h" 1 3 4 ># 44 "/usr/include/stdio.h" 3 4 > > >typedef struct _IO_FILE FILE; > > > > > ># 62 "/usr/include/stdio.h" 3 4 >typedef struct _IO_FILE __FILE; ># 38 "/usr/include/wchar.h" 2 3 4 > > ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h" 1 3 4 ># 43 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h" 3 4 >typedef __builtin_va_list __gnuc_va_list; ># 41 "/usr/include/wchar.h" 2 3 4 > > > > > > > ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 ># 213 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 3 4 >typedef unsigned int size_t; ># 325 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 3 4 >typedef long int wchar_t; ># 354 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 3 4 >typedef unsigned int wint_t; ># 49 "/usr/include/wchar.h" 2 3 4 > ># 1 "/usr/include/bits/wchar.h" 1 3 4 ># 51 "/usr/include/wchar.h" 2 3 4 ># 76 "/usr/include/wchar.h" 3 4 >typedef struct >{ > int __count; > union > { > wint_t __wch; > char __wchb[4]; > } __value; >} __mbstate_t; ># 93 "/usr/include/wchar.h" 3 4 > > >typedef __mbstate_t mbstate_t; > > > ># 118 "/usr/include/wchar.h" 3 4 > > > > > >struct tm; > > > > > > > > > >extern wchar_t *wcscpy (wchar_t *__restrict __dest, > __const wchar_t *__restrict __src) ; > >extern wchar_t *wcsncpy (wchar_t *__restrict __dest, > __const wchar_t *__restrict __src, size_t __n) > ; > > >extern wchar_t *wcscat (wchar_t *__restrict __dest, > __const wchar_t *__restrict __src) ; > >extern wchar_t *wcsncat (wchar_t *__restrict __dest, > __const wchar_t *__restrict __src, size_t __n) > ; > > >extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2) > __attribute__ ((__pure__)); > >extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n) > __attribute__ ((__pure__)); > > > > >extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) ; > > >extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2, > size_t __n) ; > > > ># 1 "/usr/include/xlocale.h" 1 3 4 ># 28 "/usr/include/xlocale.h" 3 4 >typedef struct __locale_struct >{ > > struct locale_data *__locales[13]; > > > const unsigned short int *__ctype_b; > const int *__ctype_tolower; > const int *__ctype_toupper; > > > const char *__names[13]; >} *__locale_t; ># 167 "/usr/include/wchar.h" 2 3 4 > >extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, > __locale_t __loc) ; > >extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, > size_t __n, __locale_t __loc) ; > > > > > >extern int wcscoll (__const wchar_t *__s1, __const wchar_t *__s2) ; > > > >extern size_t wcsxfrm (wchar_t *__restrict __s1, > __const wchar_t *__restrict __s2, size_t __n) ; > > > > > > > > >extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2, > __locale_t __loc) ; > > > > >extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2, > size_t __n, __locale_t __loc) ; > > >extern wchar_t *wcsdup (__const wchar_t *__s) __attribute__ ((__malloc__)); > > > > >extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc) > __attribute__ ((__pure__)); > >extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc) > __attribute__ ((__pure__)); > > > > > >extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc) > __attribute__ ((__pure__)); > > > > > >extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject) > __attribute__ ((__pure__)); > > >extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept) > __attribute__ ((__pure__)); > >extern wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept) > __attribute__ ((__pure__)); > >extern wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle) > __attribute__ ((__pure__)); > > >extern wchar_t *wcstok (wchar_t *__restrict __s, > __const wchar_t *__restrict __delim, > wchar_t **__restrict __ptr) ; > > >extern size_t wcslen (__const wchar_t *__s) __attribute__ ((__pure__)); > > > > >extern wchar_t *wcswcs (__const wchar_t *__haystack, __const wchar_t *__needle) > __attribute__ ((__pure__)); > > > > >extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen) > __attribute__ ((__pure__)); > > > > > >extern wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n) > __attribute__ ((__pure__)); > > >extern int wmemcmp (__const wchar_t *__restrict __s1, > __const wchar_t *__restrict __s2, size_t __n) > __attribute__ ((__pure__)); > > >extern wchar_t *wmemcpy (wchar_t *__restrict __s1, > __const wchar_t *__restrict __s2, size_t __n) ; > > > >extern wchar_t *wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n) > ; > > >extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) ; > > > > > >extern wchar_t *wmempcpy (wchar_t *__restrict __s1, > __const wchar_t *__restrict __s2, size_t __n) > ; > > > > > > >extern wint_t btowc (int __c) ; > > > >extern int wctob (wint_t __c) ; > > > >extern int mbsinit (__const mbstate_t *__ps) __attribute__ ((__pure__)); > > > >extern size_t mbrtowc (wchar_t *__restrict __pwc, > __const char *__restrict __s, size_t __n, > mbstate_t *__p) ; > > >extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, > mbstate_t *__restrict __ps) ; > > >extern size_t __mbrlen (__const char *__restrict __s, size_t __n, > mbstate_t *__restrict __ps) ; >extern size_t mbrlen (__const char *__restrict __s, size_t __n, > mbstate_t *__restrict __ps) ; > > > > >extern __inline size_t mbrlen (__const char *__restrict __s, size_t __n, > mbstate_t *__restrict __ps) >{ return (__ps != ((void *)0) > ? mbrtowc (((void *)0), __s, __n, __ps) : __mbrlen (__s, __n, ((void *)0))); } > > > > > >extern size_t mbsrtowcs (wchar_t *__restrict __dst, > __const char **__restrict __src, size_t __len, > mbstate_t *__restrict __ps) ; > > > >extern size_t wcsrtombs (char *__restrict __dst, > __const wchar_t **__restrict __src, size_t __len, > mbstate_t *__restrict __ps) ; > > > > > > >extern size_t mbsnrtowcs (wchar_t *__restrict __dst, > __const char **__restrict __src, size_t __nmc, > size_t __len, mbstate_t *__restrict __ps) ; > > > >extern size_t wcsnrtombs (char *__restrict __dst, > __const wchar_t **__restrict __src, > size_t __nwc, size_t __len, > mbstate_t *__restrict __ps) ; > > > > > > >extern int wcwidth (wchar_t __c) ; > > > >extern int wcswidth (__const wchar_t *__s, size_t __n) ; > > > > > > >extern double wcstod (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr) ; > > > >extern float wcstof (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr) ; >extern long double wcstold (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr) ; > > > > > >extern long int wcstol (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, int __base) ; > > > >extern unsigned long int wcstoul (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, int __base) > ; > > > > >__extension__ >extern long long int wcstoll (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, int __base) > ; > > > >__extension__ >extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, > int __base) ; > > > > > > >__extension__ >extern long long int wcstoq (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, int __base) > ; > > > >__extension__ >extern unsigned long long int wcstouq (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, > int __base) ; ># 448 "/usr/include/wchar.h" 3 4 >extern long int wcstol_l (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, int __base, > __locale_t __loc) ; > >extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, > int __base, __locale_t __loc) ; > >__extension__ >extern long long int wcstoll_l (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, > int __base, __locale_t __loc) ; > >__extension__ >extern unsigned long long int wcstoull_l (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, > int __base, __locale_t __loc) > ; > >extern double wcstod_l (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, __locale_t __loc) > ; > >extern float wcstof_l (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, __locale_t __loc) > ; > >extern long double wcstold_l (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, > __locale_t __loc) ; > > > > > >extern double __wcstod_internal (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, int __group) > ; >extern float __wcstof_internal (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, int __group) > ; >extern long double __wcstold_internal (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, > int __group) ; > > >extern long int __wcstol_internal (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, > int __base, int __group) ; > > > >extern unsigned long int __wcstoul_internal (__const wchar_t *__restrict __npt, > wchar_t **__restrict __endptr, > int __base, int __group) ; > > > >__extension__ >extern long long int __wcstoll_internal (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, > int __base, int __group) ; > > > >__extension__ >extern unsigned long long int __wcstoull_internal (__const wchar_t * > __restrict __nptr, > wchar_t ** > __restrict __endptr, > int __base, > int __group) ; > > > > > > > > >extern __inline double wcstod (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr) >{ return __wcstod_internal (__nptr, __endptr, 0); } >extern __inline long int wcstol (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, > int __base) >{ return __wcstol_internal (__nptr, __endptr, __base, 0); } >extern __inline unsigned long int wcstoul (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, > int __base) >{ return __wcstoul_internal (__nptr, __endptr, __base, 0); } > > > >extern __inline float wcstof (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr) >{ return __wcstof_internal (__nptr, __endptr, 0); } >extern __inline long double wcstold (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr) >{ return __wcstold_internal (__nptr, __endptr, 0); } > > >__extension__ >extern __inline long long int wcstoq (__const wchar_t *__restrict __nptr, > wchar_t **__restrict __endptr, > int __base) >{ return __wcstoll_internal (__nptr, __endptr, __base, 0); } >__extension__ >extern __inline unsigned long long int wcstouq (__const wchar_t * > __restrict __nptr, > wchar_t **__restrict __endptr, > int __base) >{ return __wcstoull_internal (__nptr, __endptr, __base, 0); } > > > > > > > >extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) ; > > > >extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n) > ; > > > > > > > > >extern int fwide (__FILE *__fp, int __mode) ; > > > > > > >extern int fwprintf (__FILE *__restrict __stream, > __const wchar_t *__restrict __format, ...) > ; > > > > >extern int wprintf (__const wchar_t *__restrict __format, ...) > ; > >extern int swprintf (wchar_t *__restrict __s, size_t __n, > __const wchar_t *__restrict __format, ...) > ; > > > > > >extern int vfwprintf (__FILE *__restrict __s, > __const wchar_t *__restrict __format, > __gnuc_va_list __arg) > ; > > > > >extern int vwprintf (__const wchar_t *__restrict __format, > __gnuc_va_list __arg) > ; > > >extern int vswprintf (wchar_t *__restrict __s, size_t __n, > __const wchar_t *__restrict __format, > __gnuc_va_list __arg) > ; > > > > > > >extern int fwscanf (__FILE *__restrict __stream, > __const wchar_t *__restrict __format, ...) > ; > > > > >extern int wscanf (__const wchar_t *__restrict __format, ...) > ; > >extern int swscanf (__const wchar_t *__restrict __s, > __const wchar_t *__restrict __format, ...) > ; > > > > > > > > > > > >extern int vfwscanf (__FILE *__restrict __s, > __const wchar_t *__restrict __format, > __gnuc_va_list __arg) > ; > > > > >extern int vwscanf (__const wchar_t *__restrict __format, > __gnuc_va_list __arg) > ; > >extern int vswscanf (__const wchar_t *__restrict __s, > __const wchar_t *__restrict __format, > __gnuc_va_list __arg) > ; > > > > > > > > > > >extern wint_t fgetwc (__FILE *__stream); >extern wint_t getwc (__FILE *__stream); > > > > > >extern wint_t getwchar (void); > > > > > > >extern wint_t fputwc (wchar_t __wc, __FILE *__stream); >extern wint_t putwc (wchar_t __wc, __FILE *__stream); > > > > > >extern wint_t putwchar (wchar_t __wc); > > > > > > > >extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, > __FILE *__restrict __stream); > > > > > >extern int fputws (__const wchar_t *__restrict __ws, > __FILE *__restrict __stream); > > > > > > >extern wint_t ungetwc (wint_t __wc, __FILE *__stream); > ># 736 "/usr/include/wchar.h" 3 4 >extern wint_t getwc_unlocked (__FILE *__stream); >extern wint_t getwchar_unlocked (void); > > > > > > > >extern wint_t fgetwc_unlocked (__FILE *__stream); > > > > > > > >extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); ># 762 "/usr/include/wchar.h" 3 4 >extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); >extern wint_t putwchar_unlocked (wchar_t __wc); ># 772 "/usr/include/wchar.h" 3 4 >extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, > __FILE *__restrict __stream); > > > > > > > >extern int fputws_unlocked (__const wchar_t *__restrict __ws, > __FILE *__restrict __stream); > > > > > > > >extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, > __const wchar_t *__restrict __format, > __const struct tm *__restrict __tp) ; > > > > > > > >extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, > __const wchar_t *__restrict __format, > __const struct tm *__restrict __tp, > __locale_t __loc) ; ># 817 "/usr/include/wchar.h" 3 4 > ># 109 "config-bot.h" 2 ># 1 "/usr/include/wctype.h" 1 3 4 ># 27 "/usr/include/wctype.h" 3 4 ># 1 "/usr/include/bits/types.h" 1 3 4 ># 28 "/usr/include/bits/types.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 29 "/usr/include/bits/types.h" 2 3 4 > > ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 ># 32 "/usr/include/bits/types.h" 2 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; > > > > >__extension__ typedef signed long long int __int64_t; >__extension__ typedef unsigned long long int __uint64_t; > > > > > > > >__extension__ typedef long long int __quad_t; >__extension__ typedef unsigned long long int __u_quad_t; ># 129 "/usr/include/bits/types.h" 3 4 ># 1 "/usr/include/bits/typesizes.h" 1 3 4 ># 130 "/usr/include/bits/types.h" 2 3 4 > > > > > > >__extension__ typedef unsigned long long int __dev_t; >__extension__ typedef unsigned int __uid_t; >__extension__ typedef unsigned int __gid_t; >__extension__ typedef unsigned long int __ino_t; >__extension__ typedef unsigned long long int __ino64_t; >__extension__ typedef unsigned int __mode_t; >__extension__ typedef unsigned int __nlink_t; >__extension__ typedef long int __off_t; >__extension__ typedef long long int __off64_t; >__extension__ typedef int __pid_t; >__extension__ typedef struct { int __val[2]; } __fsid_t; >__extension__ typedef long int __clock_t; >__extension__ typedef unsigned long int __rlim_t; >__extension__ typedef unsigned long long int __rlim64_t; >__extension__ typedef unsigned int __id_t; >__extension__ typedef long int __time_t; >__extension__ typedef unsigned int __useconds_t; >__extension__ typedef long int __suseconds_t; > >__extension__ typedef int __daddr_t; >__extension__ typedef long int __swblk_t; >__extension__ typedef int __key_t; > > >__extension__ typedef int __clockid_t; > > >__extension__ typedef void * __timer_t; > > >__extension__ typedef long int __blksize_t; > > > > >__extension__ typedef long int __blkcnt_t; >__extension__ typedef long long int __blkcnt64_t; > > >__extension__ typedef unsigned long int __fsblkcnt_t; >__extension__ typedef unsigned long long int __fsblkcnt64_t; > > >__extension__ typedef unsigned long int __fsfilcnt_t; >__extension__ typedef unsigned long long int __fsfilcnt64_t; > >__extension__ typedef int __ssize_t; > > > >typedef __off64_t __loff_t; >typedef __quad_t *__qaddr_t; >typedef char *__caddr_t; > > >__extension__ typedef int __intptr_t; > > >__extension__ typedef unsigned int __socklen_t; ># 28 "/usr/include/wctype.h" 2 3 4 > > > > > > > ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 ># 36 "/usr/include/wctype.h" 2 3 4 ># 45 "/usr/include/wctype.h" 3 4 > > > ># 64 "/usr/include/wctype.h" 3 4 > > > >typedef unsigned long int wctype_t; > > > > > > > ># 1 "/usr/include/endian.h" 1 3 4 ># 37 "/usr/include/endian.h" 3 4 ># 1 "/usr/include/bits/endian.h" 1 3 4 ># 38 "/usr/include/endian.h" 2 3 4 ># 76 "/usr/include/wctype.h" 2 3 4 ># 86 "/usr/include/wctype.h" 3 4 >enum >{ > __ISwupper = 0, > __ISwlower = 1, > __ISwalpha = 2, > __ISwdigit = 3, > __ISwxdigit = 4, > __ISwspace = 5, > __ISwprint = 6, > __ISwgraph = 7, > __ISwblank = 8, > __ISwcntrl = 9, > __ISwpunct = 10, > __ISwalnum = 11, > > _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))), > _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))), > _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))), > _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))), > _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))), > _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))), > _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))), > _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))), > _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))), > _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))), > _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))), > _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24)))) >}; > > > > > > > > > > > > >extern int iswalnum (wint_t __wc) ; > > > > > >extern int iswalpha (wint_t __wc) ; > > >extern int iswcntrl (wint_t __wc) ; > > > >extern int iswdigit (wint_t __wc) ; > > > >extern int iswgraph (wint_t __wc) ; > > > > >extern int iswlower (wint_t __wc) ; > > >extern int iswprint (wint_t __wc) ; > > > > >extern int iswpunct (wint_t __wc) ; > > > > >extern int iswspace (wint_t __wc) ; > > > > >extern int iswupper (wint_t __wc) ; > > > > >extern int iswxdigit (wint_t __wc) ; > > > > > >extern int iswblank (wint_t __wc) ; ># 186 "/usr/include/wctype.h" 3 4 >extern wctype_t wctype (__const char *__property) ; > > > >extern int iswctype (wint_t __wc, wctype_t __desc) ; > > > > > > > > > > >typedef __const __int32_t *wctrans_t; > > > > > > > >extern wint_t towlower (wint_t __wc) ; > > >extern wint_t towupper (wint_t __wc) ; > > > ># 228 "/usr/include/wctype.h" 3 4 > > > > > >extern wctrans_t wctrans (__const char *__property) ; > > >extern wint_t towctrans (wint_t __wc, wctrans_t __desc) ; > > > > > > > > >extern int iswalnum_l (wint_t __wc, __locale_t __locale) ; > > > > > >extern int iswalpha_l (wint_t __wc, __locale_t __locale) ; > > >extern int iswcntrl_l (wint_t __wc, __locale_t __locale) ; > > > >extern int iswdigit_l (wint_t __wc, __locale_t __locale) ; > > > >extern int iswgraph_l (wint_t __wc, __locale_t __locale) ; > > > > >extern int iswlower_l (wint_t __wc, __locale_t __locale) ; > > >extern int iswprint_l (wint_t __wc, __locale_t __locale) ; > > > > >extern int iswpunct_l (wint_t __wc, __locale_t __locale) ; > > > > >extern int iswspace_l (wint_t __wc, __locale_t __locale) ; > > > > >extern int iswupper_l (wint_t __wc, __locale_t __locale) ; > > > > >extern int iswxdigit_l (wint_t __wc, __locale_t __locale) ; > > > > >extern int iswblank_l (wint_t __wc, __locale_t __locale) ; > > > >extern wctype_t wctype_l (__const char *__property, __locale_t __locale) > ; > > > >extern int iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale) > ; > > > > > > > >extern wint_t towlower_l (wint_t __wc, __locale_t __locale) ; > > >extern wint_t towupper_l (wint_t __wc, __locale_t __locale) ; > > > >extern wctrans_t wctrans_l (__const char *__property, __locale_t __locale) > ; > > >extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc, > __locale_t __locale) ; > > > > ># 110 "config-bot.h" 2 ># 128 "config-bot.h" ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 1 3 4 ># 11 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 3 4 ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h" 1 3 4 > > > > > > ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 1 3 4 ># 122 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 3 4 ># 1 "/usr/include/limits.h" 1 3 4 ># 144 "/usr/include/limits.h" 3 4 ># 1 "/usr/include/bits/posix1_lim.h" 1 3 4 ># 130 "/usr/include/bits/posix1_lim.h" 3 4 ># 1 "/usr/include/bits/local_lim.h" 1 3 4 ># 36 "/usr/include/bits/local_lim.h" 3 4 ># 1 "/usr/include/linux/limits.h" 1 3 4 ># 37 "/usr/include/bits/local_lim.h" 2 3 4 ># 131 "/usr/include/bits/posix1_lim.h" 2 3 4 ># 145 "/usr/include/limits.h" 2 3 4 > > > ># 1 "/usr/include/bits/posix2_lim.h" 1 3 4 ># 149 "/usr/include/limits.h" 2 3 4 > > > ># 1 "/usr/include/bits/xopen_lim.h" 1 3 4 ># 34 "/usr/include/bits/xopen_lim.h" 3 4 ># 1 "/usr/include/bits/stdio_lim.h" 1 3 4 ># 35 "/usr/include/bits/xopen_lim.h" 2 3 4 ># 153 "/usr/include/limits.h" 2 3 4 ># 123 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 2 3 4 ># 8 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h" 2 3 4 ># 12 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 2 3 4 ># 129 "config-bot.h" 2 ># 878 "config.h" 2 ># 23 "./parse.y" 2 > ># 1 "bashtypes.h" 1 ># 28 "bashtypes.h" ># 1 "/usr/include/sys/types.h" 1 3 4 ># 29 "/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 __ino64_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; > > > > > > > >typedef __off64_t off_t; > > > > >typedef __off64_t off64_t; > > > > >typedef __pid_t pid_t; > > > > >typedef __id_t id_t; > > > > >typedef __ssize_t ssize_t; > > > > > >typedef __daddr_t daddr_t; >typedef __caddr_t caddr_t; > > > > > >typedef __key_t key_t; ># 133 "/usr/include/sys/types.h" 3 4 ># 1 "/usr/include/time.h" 1 3 4 ># 58 "/usr/include/time.h" 3 4 > > >typedef __clock_t clock_t; > > > ># 74 "/usr/include/time.h" 3 4 > > >typedef __time_t time_t; > > > ># 92 "/usr/include/time.h" 3 4 >typedef __clockid_t clockid_t; ># 104 "/usr/include/time.h" 3 4 >typedef __timer_t timer_t; ># 134 "/usr/include/sys/types.h" 2 3 4 > > > >typedef __useconds_t useconds_t; > > > >typedef __suseconds_t suseconds_t; > > > > > ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 ># 148 "/usr/include/sys/types.h" 2 3 4 > > > >typedef unsigned long int ulong; >typedef unsigned short int ushort; >typedef unsigned int uint; ># 191 "/usr/include/sys/types.h" 3 4 >typedef int int8_t __attribute__ ((__mode__ (__QI__))); >typedef int int16_t __attribute__ ((__mode__ (__HI__))); >typedef int int32_t __attribute__ ((__mode__ (__SI__))); >typedef int int64_t __attribute__ ((__mode__ (__DI__))); > > >typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); >typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); >typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); >typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); > >typedef int register_t __attribute__ ((__mode__ (__word__))); ># 216 "/usr/include/sys/types.h" 3 4 ># 1 "/usr/include/sys/select.h" 1 3 4 ># 31 "/usr/include/sys/select.h" 3 4 ># 1 "/usr/include/bits/select.h" 1 3 4 ># 32 "/usr/include/sys/select.h" 2 3 4 > > ># 1 "/usr/include/bits/sigset.h" 1 3 4 ># 23 "/usr/include/bits/sigset.h" 3 4 >typedef int __sig_atomic_t; > > > > >typedef struct > { > unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; > } __sigset_t; ># 35 "/usr/include/sys/select.h" 2 3 4 > > > >typedef __sigset_t sigset_t; > > > > > ># 1 "/usr/include/time.h" 1 3 4 ># 118 "/usr/include/time.h" 3 4 >struct timespec > { > __time_t tv_sec; > long int tv_nsec; > }; ># 45 "/usr/include/sys/select.h" 2 3 4 > ># 1 "/usr/include/bits/time.h" 1 3 4 ># 69 "/usr/include/bits/time.h" 3 4 >struct timeval > { > __time_t tv_sec; > __suseconds_t tv_usec; > }; ># 47 "/usr/include/sys/select.h" 2 3 4 ># 55 "/usr/include/sys/select.h" 3 4 >typedef long int __fd_mask; ># 67 "/usr/include/sys/select.h" 3 4 >typedef struct > { > > > > __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))]; > > > > > > } fd_set; > > > > > > >typedef __fd_mask fd_mask; ># 99 "/usr/include/sys/select.h" 3 4 > ># 109 "/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); ># 121 "/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); > > > ># 217 "/usr/include/sys/types.h" 2 3 4 > > ># 1 "/usr/include/sys/sysmacros.h" 1 3 4 ># 29 "/usr/include/sys/sysmacros.h" 3 4 >__extension__ >extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) > ; >__extension__ >extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) > ; >__extension__ >extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, > unsigned int __minor) > ; > > >__extension__ extern __inline unsigned int >gnu_dev_major (unsigned long long int __dev) >{ > return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); >} > >__extension__ extern __inline unsigned int >gnu_dev_minor (unsigned long long int __dev) >{ > return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); >} > >__extension__ extern __inline unsigned long long int >gnu_dev_makedev (unsigned int __major, unsigned int __minor) >{ > return ((__minor & 0xff) | ((__major & 0xfff) << 8) > | (((unsigned long long int) (__minor & ~0xff)) << 12) > | (((unsigned long long int) (__major & ~0xfff)) << 32)); >} ># 220 "/usr/include/sys/types.h" 2 3 4 > > > > >typedef __blksize_t blksize_t; ># 244 "/usr/include/sys/types.h" 3 4 >typedef __blkcnt64_t blkcnt_t; > > > >typedef __fsblkcnt64_t fsblkcnt_t; > > > >typedef __fsfilcnt64_t fsfilcnt_t; > > > > > >typedef __blkcnt64_t blkcnt64_t; >typedef __fsblkcnt64_t fsblkcnt64_t; >typedef __fsfilcnt64_t fsfilcnt64_t; > > > > > ># 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 ># 36 "/usr/include/bits/pthreadtypes.h" 3 4 >typedef unsigned long int pthread_t; > > >typedef union >{ > char __size[36]; > long int __align; >} pthread_attr_t; > > > > >typedef union >{ > struct > { > int __lock; > unsigned int __count; > int __owner; > > > int __kind; > unsigned int __nusers; > int __spins; > } __data; > char __size[24]; > long int __align; >} pthread_mutex_t; > >typedef union >{ > char __size[4]; > long int __align; >} pthread_mutexattr_t; > > > > >typedef union >{ > struct > { > int __lock; > unsigned int __futex; > unsigned long long int __total_seq; > unsigned long long int __wakeup_seq; > unsigned long long int __woken_seq; > void *__mutex; > int __clock; > unsigned int __broadcast_seq; > } __data; > char __size[48]; > long long int __align; >} pthread_cond_t; > >typedef union >{ > char __size[4]; > long int __align; >} pthread_condattr_t; > > > >typedef unsigned int pthread_key_t; > > > >typedef int pthread_once_t; > > > > > >typedef union >{ > struct > { > int __lock; > unsigned int __nr_readers; > unsigned int __readers_wakeup; > unsigned int __writer_wakeup; > unsigned int __nr_readers_queued; > unsigned int __nr_writers_queued; > > > unsigned int __flags; > int __writer; > } __data; > char __size[32]; > 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[20]; > long int __align; >} pthread_barrier_t; > >typedef union >{ > char __size[4]; > int __align; >} pthread_barrierattr_t; ># 267 "/usr/include/sys/types.h" 2 3 4 > > > ># 29 "bashtypes.h" 2 > > > > > > ># 1 "/usr/include/inttypes.h" 1 3 4 ># 28 "/usr/include/inttypes.h" 3 4 ># 1 "/usr/include/stdint.h" 1 3 4 ># 28 "/usr/include/stdint.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 29 "/usr/include/stdint.h" 2 3 4 ># 49 "/usr/include/stdint.h" 3 4 >typedef unsigned char uint8_t; >typedef unsigned short int uint16_t; > >typedef unsigned int uint32_t; > > > > > >__extension__ >typedef unsigned long long int uint64_t; > > > > > > >typedef signed char int_least8_t; >typedef short int int_least16_t; >typedef int int_least32_t; > > > >__extension__ >typedef long long int int_least64_t; > > > >typedef unsigned char uint_least8_t; >typedef unsigned short int uint_least16_t; >typedef unsigned int uint_least32_t; > > > >__extension__ >typedef unsigned long long int uint_least64_t; > > > > > > >typedef signed char int_fast8_t; > > > > > >typedef int int_fast16_t; >typedef int int_fast32_t; >__extension__ >typedef long long int int_fast64_t; > > > >typedef unsigned char uint_fast8_t; > > > > > >typedef unsigned int uint_fast16_t; >typedef unsigned int uint_fast32_t; >__extension__ >typedef unsigned long long int uint_fast64_t; ># 126 "/usr/include/stdint.h" 3 4 >typedef int intptr_t; > > >typedef unsigned int uintptr_t; ># 138 "/usr/include/stdint.h" 3 4 >__extension__ >typedef long long int intmax_t; >__extension__ >typedef unsigned long long int uintmax_t; ># 29 "/usr/include/inttypes.h" 2 3 4 > > > > > > >typedef long int __gwchar_t; ># 274 "/usr/include/inttypes.h" 3 4 > ># 288 "/usr/include/inttypes.h" 3 4 >typedef struct > { > long long int quot; > long long int rem; > } imaxdiv_t; > > > > > >extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__const__)); > > >extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) > __attribute__ ((__const__)); > > >extern intmax_t strtoimax (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) ; > > >extern uintmax_t strtoumax (__const char *__restrict __nptr, > char ** __restrict __endptr, int __base) ; > > >extern intmax_t wcstoimax (__const __gwchar_t *__restrict __nptr, > __gwchar_t **__restrict __endptr, int __base) > ; > > >extern uintmax_t wcstoumax (__const __gwchar_t *__restrict __nptr, > __gwchar_t ** __restrict __endptr, int __base) > ; ># 390 "/usr/include/inttypes.h" 3 4 >__extension__ >extern long long int __strtoll_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, int __group) ; > > >extern __inline intmax_t >strtoimax (__const char *__restrict nptr, char **__restrict endptr, > int base) >{ > return __strtoll_internal (nptr, endptr, base, 0); >} > > > >__extension__ >extern unsigned long long int __strtoull_internal (__const char * > __restrict __nptr, > char ** > __restrict __endptr, > int __base, > int __group) ; > > >extern __inline uintmax_t >strtoumax (__const char *__restrict nptr, char **__restrict endptr, > int base) >{ > return __strtoull_internal (nptr, endptr, base, 0); >} ># 430 "/usr/include/inttypes.h" 3 4 >extern __inline intmax_t >wcstoimax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, > int base) >{ > return __wcstoll_internal (nptr, endptr, base, 0); >} ># 449 "/usr/include/inttypes.h" 3 4 >extern __inline uintmax_t >wcstoumax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, > int base) >{ > return __wcstoull_internal (nptr, endptr, base, 0); >} > > > > > ># 36 "bashtypes.h" 2 ># 25 "./parse.y" 2 ># 1 "bashansi.h" 1 ># 28 "bashansi.h" ># 1 "/usr/include/string.h" 1 3 4 ># 28 "/usr/include/string.h" 3 4 > > > > > ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 ># 34 "/usr/include/string.h" 2 3 4 > > > > >extern void *memcpy (void *__restrict __dest, > __const void *__restrict __src, size_t __n) ; > > >extern void *memmove (void *__dest, __const void *__src, size_t __n) > ; > > > > > > >extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, > int __c, size_t __n) > ; > > > > > >extern void *memset (void *__s, int __c, size_t __n) ; > > >extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) > __attribute__ ((__pure__)); > > >extern void *memchr (__const void *__s, int __c, size_t __n) > __attribute__ ((__pure__)); > > > > > >extern void *rawmemchr (__const void *__s, int __c) __attribute__ ((__pure__)); > > >extern void *memrchr (__const void *__s, int __c, size_t __n) > __attribute__ ((__pure__)); > > > > > >extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) > ; > >extern char *strncpy (char *__restrict __dest, > __const char *__restrict __src, size_t __n) ; > > >extern char *strcat (char *__restrict __dest, __const char *__restrict __src) > ; > >extern char *strncat (char *__restrict __dest, __const char *__restrict __src, > size_t __n) ; > > >extern int strcmp (__const char *__s1, __const char *__s2) > __attribute__ ((__pure__)); > >extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) > __attribute__ ((__pure__)); > > >extern int strcoll (__const char *__s1, __const char *__s2) > __attribute__ ((__pure__)); > >extern size_t strxfrm (char *__restrict __dest, > __const char *__restrict __src, size_t __n) ; > ># 117 "/usr/include/string.h" 3 4 >extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l) > __attribute__ ((__pure__)); > >extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n, > __locale_t __l) ; > > > > >extern char *strdup (__const char *__s) __attribute__ ((__malloc__)); > > > > > > >extern char *strndup (__const char *__string, size_t __n) > __attribute__ ((__malloc__)); ># 160 "/usr/include/string.h" 3 4 > > >extern char *strchr (__const char *__s, int __c) __attribute__ ((__pure__)); > >extern char *strrchr (__const char *__s, int __c) __attribute__ ((__pure__)); > > > > > >extern char *strchrnul (__const char *__s, int __c) __attribute__ ((__pure__)); > > > > > >extern size_t strcspn (__const char *__s, __const char *__reject) > __attribute__ ((__pure__)); > > >extern size_t strspn (__const char *__s, __const char *__accept) > __attribute__ ((__pure__)); > >extern char *strpbrk (__const char *__s, __const char *__accept) > __attribute__ ((__pure__)); > >extern char *strstr (__const char *__haystack, __const char *__needle) > __attribute__ ((__pure__)); > > > >extern char *strtok (char *__restrict __s, __const char *__restrict __delim) > ; > > > > >extern char *__strtok_r (char *__restrict __s, > __const char *__restrict __delim, > char **__restrict __save_ptr) ; > >extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, > char **__restrict __save_ptr) ; > > > > >extern char *strcasestr (__const char *__haystack, __const char *__needle) > __attribute__ ((__pure__)); > > > > > > >extern void *memmem (__const void *__haystack, size_t __haystacklen, > __const void *__needle, size_t __needlelen) > __attribute__ ((__pure__)); > > > >extern void *__mempcpy (void *__restrict __dest, > __const void *__restrict __src, size_t __n) ; >extern void *mempcpy (void *__restrict __dest, > __const void *__restrict __src, size_t __n) ; > > > > > >extern size_t strlen (__const char *__s) __attribute__ ((__pure__)); > > > > > >extern size_t strnlen (__const char *__string, size_t __maxlen) > __attribute__ ((__pure__)); > > > > > >extern char *strerror (int __errnum) ; > ># 268 "/usr/include/string.h" 3 4 >extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) ; > > > > > >extern void __bzero (void *__s, size_t __n) ; > > > >extern void bcopy (__const void *__src, void *__dest, size_t __n) ; > > >extern void bzero (void *__s, size_t __n) ; > > >extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) > __attribute__ ((__pure__)); > > >extern char *index (__const char *__s, int __c) __attribute__ ((__pure__)); > > >extern char *rindex (__const char *__s, int __c) __attribute__ ((__pure__)); > > > >extern int ffs (int __i) __attribute__ ((__const__)); > > > > >extern int ffsl (long int __l) __attribute__ ((__const__)); > >__extension__ extern int ffsll (long long int __ll) > __attribute__ ((__const__)); > > > > >extern int strcasecmp (__const char *__s1, __const char *__s2) > __attribute__ ((__pure__)); > > >extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) > __attribute__ ((__pure__)); > > > > > >extern int strcasecmp_l (__const char *__s1, __const char *__s2, > __locale_t __loc) __attribute__ ((__pure__)); > >extern int strncasecmp_l (__const char *__s1, __const char *__s2, > size_t __n, __locale_t __loc) > __attribute__ ((__pure__)); > > > > > >extern char *strsep (char **__restrict __stringp, > __const char *__restrict __delim) ; > > > > >extern int strverscmp (__const char *__s1, __const char *__s2) > __attribute__ ((__pure__)); > > >extern char *strsignal (int __sig) ; > > >extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src) > ; >extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src) > ; > > > >extern char *__stpncpy (char *__restrict __dest, > __const char *__restrict __src, size_t __n) ; >extern char *stpncpy (char *__restrict __dest, > __const char *__restrict __src, size_t __n) ; > > >extern char *strfry (char *__string) ; > > >extern void *memfrob (void *__s, size_t __n) ; > > > > > > >extern char *basename (__const char *__filename) ; ># 393 "/usr/include/string.h" 3 4 ># 1 "/usr/include/bits/string.h" 1 3 4 ># 394 "/usr/include/string.h" 2 3 4 > > ># 1 "/usr/include/bits/string2.h" 1 3 4 ># 394 "/usr/include/bits/string2.h" 3 4 >extern void *__rawmemchr (const void *__s, int __c); ># 969 "/usr/include/bits/string2.h" 3 4 >extern __inline size_t __strcspn_c1 (__const char *__s, int __reject); >extern __inline size_t >__strcspn_c1 (__const char *__s, int __reject) >{ > register size_t __result = 0; > while (__s[__result] != '\0' && __s[__result] != __reject) > ++__result; > return __result; >} > >extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, > int __reject2); >extern __inline size_t >__strcspn_c2 (__const char *__s, int __reject1, int __reject2) >{ > register size_t __result = 0; > while (__s[__result] != '\0' && __s[__result] != __reject1 > && __s[__result] != __reject2) > ++__result; > return __result; >} > >extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, > int __reject2, int __reject3); >extern __inline size_t >__strcspn_c3 (__const char *__s, int __reject1, int __reject2, > int __reject3) >{ > register size_t __result = 0; > while (__s[__result] != '\0' && __s[__result] != __reject1 > && __s[__result] != __reject2 && __s[__result] != __reject3) > ++__result; > return __result; >} ># 1045 "/usr/include/bits/string2.h" 3 4 >extern __inline size_t __strspn_c1 (__const char *__s, int __accept); >extern __inline size_t >__strspn_c1 (__const char *__s, int __accept) >{ > register size_t __result = 0; > > while (__s[__result] == __accept) > ++__result; > return __result; >} > >extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, > int __accept2); >extern __inline size_t >__strspn_c2 (__const char *__s, int __accept1, int __accept2) >{ > register size_t __result = 0; > > while (__s[__result] == __accept1 || __s[__result] == __accept2) > ++__result; > return __result; >} > >extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, > int __accept2, int __accept3); >extern __inline size_t >__strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) >{ > register size_t __result = 0; > > while (__s[__result] == __accept1 || __s[__result] == __accept2 > || __s[__result] == __accept3) > ++__result; > return __result; >} ># 1121 "/usr/include/bits/string2.h" 3 4 >extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1, > int __accept2); >extern __inline char * >__strpbrk_c2 (__const char *__s, int __accept1, int __accept2) >{ > > while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) > ++__s; > return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; >} > >extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1, > int __accept2, int __accept3); >extern __inline char * >__strpbrk_c3 (__const char *__s, int __accept1, int __accept2, > int __accept3) >{ > > while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 > && *__s != __accept3) > ++__s; > return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; >} ># 1173 "/usr/include/bits/string2.h" 3 4 >extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp); >extern __inline char * >__strtok_r_1c (char *__s, char __sep, char **__nextp) >{ > char *__result; > if (__s == ((void *)0)) > __s = *__nextp; > while (*__s == __sep) > ++__s; > __result = ((void *)0); > if (*__s != '\0') > { > __result = __s++; > while (*__s != '\0') > if (*__s++ == __sep) > { > __s[-1] = '\0'; > break; > } > *__nextp = __s; > } > return __result; >} ># 1205 "/usr/include/bits/string2.h" 3 4 >extern char *__strsep_g (char **__stringp, __const char *__delim); ># 1223 "/usr/include/bits/string2.h" 3 4 >extern __inline char *__strsep_1c (char **__s, char __reject); >extern __inline char * >__strsep_1c (char **__s, char __reject) >{ > register char *__retval = *__s; > if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0)) > *(*__s)++ = '\0'; > return __retval; >} > >extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2); >extern __inline char * >__strsep_2c (char **__s, char __reject1, char __reject2) >{ > register char *__retval = *__s; > if (__retval != ((void *)0)) > { > register char *__cp = __retval; > while (1) > { > if (*__cp == '\0') > { > __cp = ((void *)0); > break; > } > if (*__cp == __reject1 || *__cp == __reject2) > { > *__cp++ = '\0'; > break; > } > ++__cp; > } > *__s = __cp; > } > return __retval; >} > >extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2, > char __reject3); >extern __inline char * >__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) >{ > register char *__retval = *__s; > if (__retval != ((void *)0)) > { > register char *__cp = __retval; > while (1) > { > if (*__cp == '\0') > { > __cp = ((void *)0); > break; > } > if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) > { > *__cp++ = '\0'; > break; > } > ++__cp; > } > *__s = __cp; > } > return __retval; >} ># 1299 "/usr/include/bits/string2.h" 3 4 ># 1 "/usr/include/stdlib.h" 1 3 4 ># 33 "/usr/include/stdlib.h" 3 4 ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 ># 34 "/usr/include/stdlib.h" 2 3 4 > > ># 554 "/usr/include/stdlib.h" 3 4 > > >extern void *malloc (size_t __size) __attribute__ ((__malloc__)); > >extern void *calloc (size_t __nmemb, size_t __size) > __attribute__ ((__malloc__)); > ># 922 "/usr/include/stdlib.h" 3 4 > ># 1300 "/usr/include/bits/string2.h" 2 3 4 > > > > >extern char *__strdup (__const char *__string) __attribute__ ((__malloc__)); ># 1323 "/usr/include/bits/string2.h" 3 4 >extern char *__strndup (__const char *__string, size_t __n) > __attribute__ ((__malloc__)); ># 397 "/usr/include/string.h" 2 3 4 > > > > ># 29 "bashansi.h" 2 > > > ># 1 "/usr/include/strings.h" 1 3 4 ># 33 "bashansi.h" 2 > > > ># 1 "/usr/include/stdlib.h" 1 3 4 ># 33 "/usr/include/stdlib.h" 3 4 ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 ># 34 "/usr/include/stdlib.h" 2 3 4 > > > > > > > > ># 1 "/usr/include/bits/waitflags.h" 1 3 4 ># 43 "/usr/include/stdlib.h" 2 3 4 ># 1 "/usr/include/bits/waitstatus.h" 1 3 4 ># 65 "/usr/include/bits/waitstatus.h" 3 4 >union wait > { > int w_status; > struct > { > > unsigned int __w_termsig:7; > unsigned int __w_coredump:1; > unsigned int __w_retcode:8; > unsigned int:16; > > > > > > > > } __wait_terminated; > struct > { > > unsigned int __w_stopval:8; > unsigned int __w_stopsig:8; > unsigned int:16; > > > > > > > } __wait_stopped; > }; ># 44 "/usr/include/stdlib.h" 2 3 4 ># 68 "/usr/include/stdlib.h" 3 4 >typedef union > { > union wait *__uptr; > int *__iptr; > } __WAIT_STATUS __attribute__ ((__transparent_union__)); ># 93 "/usr/include/stdlib.h" 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; > > ># 137 "/usr/include/stdlib.h" 3 4 >extern size_t __ctype_get_mb_cur_max (void) ; > > > > >extern double atof (__const char *__nptr) __attribute__ ((__pure__)); > >extern int atoi (__const char *__nptr) __attribute__ ((__pure__)); > >extern long int atol (__const char *__nptr) __attribute__ ((__pure__)); > > > > > >__extension__ extern long long int atoll (__const char *__nptr) > __attribute__ ((__pure__)); > > > > > >extern double strtod (__const char *__restrict __nptr, > char **__restrict __endptr) ; > > > > > >extern float strtof (__const char *__restrict __nptr, > char **__restrict __endptr) ; > >extern long double strtold (__const char *__restrict __nptr, > char **__restrict __endptr) ; > > > > > >extern long int strtol (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) ; > >extern unsigned long int strtoul (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > ; > > > > >__extension__ >extern long long int strtoq (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) ; > >__extension__ >extern unsigned long long int strtouq (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > ; > > > > > >__extension__ >extern long long int strtoll (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) ; > >__extension__ >extern unsigned long long int strtoull (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > ; > ># 229 "/usr/include/stdlib.h" 3 4 >extern long int strtol_l (__const char *__restrict __nptr, > char **__restrict __endptr, int __base, > __locale_t __loc) ; > >extern unsigned long int strtoul_l (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, __locale_t __loc) ; > >__extension__ >extern long long int strtoll_l (__const char *__restrict __nptr, > char **__restrict __endptr, int __base, > __locale_t __loc) ; > >__extension__ >extern unsigned long long int strtoull_l (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, __locale_t __loc) > ; > >extern double strtod_l (__const char *__restrict __nptr, > char **__restrict __endptr, __locale_t __loc) > ; > >extern float strtof_l (__const char *__restrict __nptr, > char **__restrict __endptr, __locale_t __loc) ; > >extern long double strtold_l (__const char *__restrict __nptr, > char **__restrict __endptr, > __locale_t __loc) ; > > > > > > >extern double __strtod_internal (__const char *__restrict __nptr, > char **__restrict __endptr, int __group) > ; >extern float __strtof_internal (__const char *__restrict __nptr, > char **__restrict __endptr, int __group) > ; >extern long double __strtold_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __group) ; > >extern long int __strtol_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, int __group) ; > > > >extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, int __group) ; ># 307 "/usr/include/stdlib.h" 3 4 > >extern __inline double >strtod (__const char *__restrict __nptr, char **__restrict __endptr) >{ > return __strtod_internal (__nptr, __endptr, 0); >} >extern __inline long int >strtol (__const char *__restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtol_internal (__nptr, __endptr, __base, 0); >} >extern __inline unsigned long int >strtoul (__const char *__restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtoul_internal (__nptr, __endptr, __base, 0); >} > > > > >extern __inline float >strtof (__const char *__restrict __nptr, char **__restrict __endptr) >{ > return __strtof_internal (__nptr, __endptr, 0); >} >extern __inline long double >strtold (__const char *__restrict __nptr, char **__restrict __endptr) >{ > return __strtold_internal (__nptr, __endptr, 0); >} > > > > >__extension__ extern __inline long long int >strtoq (__const char *__restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtoll_internal (__nptr, __endptr, __base, 0); >} >__extension__ extern __inline unsigned long long int >strtouq (__const char *__restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtoull_internal (__nptr, __endptr, __base, 0); >} > > > > >__extension__ extern __inline long long int >strtoll (__const char *__restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtoll_internal (__nptr, __endptr, __base, 0); >} >__extension__ extern __inline unsigned long long int >strtoull (__const char * __restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtoull_internal (__nptr, __endptr, __base, 0); >} > > > > >extern __inline double >atof (__const char *__nptr) >{ > return strtod (__nptr, (char **) ((void *)0)); >} >extern __inline int >atoi (__const char *__nptr) >{ > return (int) strtol (__nptr, (char **) ((void *)0), 10); >} >extern __inline long int >atol (__const char *__nptr) >{ > return strtol (__nptr, (char **) ((void *)0), 10); >} > > > > >__extension__ extern __inline long long int >atoll (__const char *__nptr) >{ > return strtoll (__nptr, (char **) ((void *)0), 10); >} > ># 408 "/usr/include/stdlib.h" 3 4 >extern char *l64a (long int __n) ; > > >extern long int a64l (__const char *__s) __attribute__ ((__pure__)); ># 423 "/usr/include/stdlib.h" 3 4 >extern long int random (void) ; > > >extern void srandom (unsigned int __seed) ; > > > > > >extern char *initstate (unsigned int __seed, char *__statebuf, > size_t __statelen) ; > > > >extern char *setstate (char *__statebuf) ; > > > > > > > >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) ; > >extern int srandom_r (unsigned int __seed, struct random_data *__buf) ; > >extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, > size_t __statelen, > struct random_data *__restrict __buf) ; > >extern int setstate_r (char *__restrict __statebuf, > struct random_data *__restrict __buf) ; > > > > > > >extern int rand (void) ; > >extern void srand (unsigned int __seed) ; > > > > >extern int rand_r (unsigned int *__seed) ; > > > > > > > >extern double drand48 (void) ; >extern double erand48 (unsigned short int __xsubi[3]) ; > > >extern long int lrand48 (void) ; >extern long int nrand48 (unsigned short int __xsubi[3]) ; > > >extern long int mrand48 (void) ; >extern long int jrand48 (unsigned short int __xsubi[3]) ; > > >extern void srand48 (long int __seedval) ; >extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ; >extern void lcong48 (unsigned short int __param[7]) ; > > > > > >struct drand48_data > { > unsigned short int __x[3]; > unsigned short int __old_x[3]; > unsigned short int __c; > unsigned short int __init; > unsigned long long int __a; > }; > > >extern int drand48_r (struct drand48_data *__restrict __buffer, > double *__restrict __result) ; >extern int erand48_r (unsigned short int __xsubi[3], > struct drand48_data *__restrict __buffer, > double *__restrict __result) ; > > >extern int lrand48_r (struct drand48_data *__restrict __buffer, > long int *__restrict __result) ; >extern int nrand48_r (unsigned short int __xsubi[3], > struct drand48_data *__restrict __buffer, > long int *__restrict __result) ; > > >extern int mrand48_r (struct drand48_data *__restrict __buffer, > long int *__restrict __result) ; >extern int jrand48_r (unsigned short int __xsubi[3], > struct drand48_data *__restrict __buffer, > long int *__restrict __result) ; > > >extern int srand48_r (long int __seedval, struct drand48_data *__buffer) > ; > >extern int seed48_r (unsigned short int __seed16v[3], > struct drand48_data *__buffer) ; > >extern int lcong48_r (unsigned short int __param[7], > struct drand48_data *__buffer) ; ># 564 "/usr/include/stdlib.h" 3 4 > > > >extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__)); > >extern void free (void *__ptr) ; > > > > >extern void cfree (void *__ptr) ; > > > ># 1 "/usr/include/alloca.h" 1 3 4 ># 25 "/usr/include/alloca.h" 3 4 ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 ># 26 "/usr/include/alloca.h" 2 3 4 > > > > > > > >extern void *alloca (size_t __size) ; > > > > > > ># 579 "/usr/include/stdlib.h" 2 3 4 > > > > >extern void *valloc (size_t __size) __attribute__ ((__malloc__)); > > > > >extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) > __attribute__ ((__malloc__)); > > > > >extern void abort (void) __attribute__ ((__noreturn__)); > > > >extern int atexit (void (*__func) (void)) ; > > > > > >extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) > ; > > > > > > >extern void exit (int __status) __attribute__ ((__noreturn__)); > > > > > > >extern void _Exit (int __status) __attribute__ ((__noreturn__)); > > > > > > >extern char *getenv (__const char *__name) ; > > > > >extern char *__secure_getenv (__const char *__name) ; > > > > > >extern int putenv (char *__string) ; > > > > > >extern int setenv (__const char *__name, __const char *__value, int __replace) > ; > > >extern int unsetenv (__const char *__name) ; > > > > > > >extern int clearenv (void) ; ># 663 "/usr/include/stdlib.h" 3 4 >extern char *mktemp (char *__template) ; ># 677 "/usr/include/stdlib.h" 3 4 >extern int mkstemp (char *__template) __asm__ ("" "mkstemp64"); > > > > > >extern int mkstemp64 (char *__template); ># 693 "/usr/include/stdlib.h" 3 4 >extern char *mkdtemp (char *__template) ; > > > > > > > > >extern int system (__const char *__command); > > > > > > > >extern char *canonicalize_file_name (__const char *__name) ; ># 720 "/usr/include/stdlib.h" 3 4 >extern char *realpath (__const char *__restrict __name, > char *__restrict __resolved) ; > > > > > > >typedef int (*__compar_fn_t) (__const void *, __const void *); > > >typedef __compar_fn_t comparison_fn_t; > > > > > > >extern void *bsearch (__const void *__key, __const void *__base, > size_t __nmemb, size_t __size, __compar_fn_t __compar); > > > >extern void qsort (void *__base, size_t __nmemb, size_t __size, > __compar_fn_t __compar); > > > >extern int abs (int __x) __attribute__ ((__const__)); >extern long int labs (long int __x) __attribute__ ((__const__)); > > > >__extension__ extern long long int llabs (long long int __x) > __attribute__ ((__const__)); > > > > > > > >extern div_t div (int __numer, int __denom) > __attribute__ ((__const__)); >extern ldiv_t ldiv (long int __numer, long int __denom) > __attribute__ ((__const__)); > > > > >__extension__ extern lldiv_t lldiv (long long int __numer, > long long int __denom) > __attribute__ ((__const__)); > ># 784 "/usr/include/stdlib.h" 3 4 >extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign) ; > > > > >extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign) ; > > > > >extern char *gcvt (double __value, int __ndigit, char *__buf) ; > > > > >extern char *qecvt (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign) ; >extern char *qfcvt (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign) ; >extern char *qgcvt (long double __value, int __ndigit, char *__buf) ; > > > > >extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign, char *__restrict __buf, > size_t __len) ; >extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign, char *__restrict __buf, > size_t __len) ; > >extern int qecvt_r (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign, > char *__restrict __buf, size_t __len) ; >extern int qfcvt_r (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign, > char *__restrict __buf, size_t __len) ; > > > > > > > >extern int mblen (__const char *__s, size_t __n) ; > > >extern int mbtowc (wchar_t *__restrict __pwc, > __const char *__restrict __s, size_t __n) ; > > >extern int wctomb (char *__s, wchar_t __wchar) ; > > > >extern size_t mbstowcs (wchar_t *__restrict __pwcs, > __const char *__restrict __s, size_t __n) ; > >extern size_t wcstombs (char *__restrict __s, > __const wchar_t *__restrict __pwcs, size_t __n) > ; > > > > > > > > >extern int rpmatch (__const char *__response) ; ># 866 "/usr/include/stdlib.h" 3 4 >extern int getsubopt (char **__restrict __optionp, > char *__const *__restrict __tokens, > char **__restrict __valuep) ; > > > > > >extern void setkey (__const char *__key) ; > > > > > > > >extern int posix_openpt (int __oflag); > > > > > > > >extern int grantpt (int __fd) ; > > > >extern int unlockpt (int __fd) ; > > > > >extern char *ptsname (int __fd) ; > > > > > > >extern int ptsname_r (int __fd, char *__buf, size_t __buflen) ; > > >extern int getpt (void); > > > > > > >extern int getloadavg (double __loadavg[], int __nelem) ; > > > > > > ># 37 "bashansi.h" 2 ># 26 "./parse.y" 2 > ># 1 "./include/filecntl.h" 1 ># 24 "./include/filecntl.h" ># 1 "/usr/include/fcntl.h" 1 3 4 ># 29 "/usr/include/fcntl.h" 3 4 > > > > ># 1 "/usr/include/bits/fcntl.h" 1 3 4 ># 137 "/usr/include/bits/fcntl.h" 3 4 >struct flock > { > short int l_type; > short int l_whence; > > > > > __off64_t l_start; > __off64_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; > }; ># 182 "/usr/include/bits/fcntl.h" 3 4 > > > >extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count) > ; > > ># 34 "/usr/include/fcntl.h" 2 3 4 > > > ># 1 "/usr/include/sys/stat.h" 1 3 4 ># 37 "/usr/include/sys/stat.h" 3 4 ># 1 "/usr/include/time.h" 1 3 4 ># 38 "/usr/include/sys/stat.h" 2 3 4 ># 103 "/usr/include/sys/stat.h" 3 4 > > ># 1 "/usr/include/bits/stat.h" 1 3 4 ># 36 "/usr/include/bits/stat.h" 3 4 >struct stat > { > __dev_t st_dev; > unsigned short int __pad1; > > > > __ino_t __st_ino; > > __mode_t st_mode; > __nlink_t st_nlink; > __uid_t st_uid; > __gid_t st_gid; > __dev_t st_rdev; > unsigned short int __pad2; > > > > __off64_t st_size; > > __blksize_t st_blksize; > > > > > __blkcnt64_t st_blocks; ># 70 "/usr/include/bits/stat.h" 3 4 > struct timespec st_atim; > struct timespec st_mtim; > struct timespec st_ctim; ># 88 "/usr/include/bits/stat.h" 3 4 > __ino64_t st_ino; > > }; > > >struct stat64 > { > __dev_t st_dev; > unsigned int __pad1; > > __ino_t __st_ino; > __mode_t st_mode; > __nlink_t st_nlink; > __uid_t st_uid; > __gid_t st_gid; > __dev_t st_rdev; > unsigned int __pad2; > __off64_t st_size; > __blksize_t st_blksize; > > __blkcnt64_t st_blocks; > > > > > > > > struct timespec st_atim; > struct timespec st_mtim; > struct timespec st_ctim; ># 127 "/usr/include/bits/stat.h" 3 4 > __ino64_t st_ino; > }; ># 106 "/usr/include/sys/stat.h" 2 3 4 ># 215 "/usr/include/sys/stat.h" 3 4 >extern int stat (__const char *__restrict __file, struct stat *__restrict __buf) __asm__ ("" "stat64"); > > > >extern int fstat (int __fd, struct stat *__buf) __asm__ ("" "fstat64"); > > > > > > >extern int stat64 (__const char *__restrict __file, > struct stat64 *__restrict __buf) ; >extern int fstat64 (int __fd, struct stat64 *__buf) ; ># 239 "/usr/include/sys/stat.h" 3 4 >extern int lstat (__const char *__restrict __file, struct stat *__restrict __buf) __asm__ ("" "lstat64"); ># 248 "/usr/include/sys/stat.h" 3 4 >extern int lstat64 (__const char *__restrict __file, > struct stat64 *__restrict __buf) ; > > > > > >extern int chmod (__const char *__file, __mode_t __mode) ; > > > > > >extern int lchmod (__const char *__file, __mode_t __mode) ; > > > > >extern int fchmod (int __fd, __mode_t __mode) ; > > > > > >extern __mode_t umask (__mode_t __mask) ; > > > > >extern __mode_t getumask (void) ; > > > >extern int mkdir (__const char *__path, __mode_t __mode) ; > > > > > >extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev) > ; > > > > >extern int mkfifo (__const char *__path, __mode_t __mode) ; ># 326 "/usr/include/sys/stat.h" 3 4 >extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) __asm__ ("" "__fxstat64"); > > >extern int __xstat (int __ver, __const char *__filename, struct stat *__stat_buf) __asm__ ("" "__xstat64"); > >extern int __lxstat (int __ver, __const char *__filename, struct stat *__stat_buf) __asm__ ("" "__lxstat64"); ># 343 "/usr/include/sys/stat.h" 3 4 >extern int __fxstat64 (int __ver, int __fildes, struct stat64 *__stat_buf) > ; >extern int __xstat64 (int __ver, __const char *__filename, > struct stat64 *__stat_buf) ; >extern int __lxstat64 (int __ver, __const char *__filename, > struct stat64 *__stat_buf) ; > >extern int __xmknod (int __ver, __const char *__path, __mode_t __mode, > __dev_t *__dev) ; > > > > >extern __inline__ int stat (__const char *__path, > struct stat *__statbuf) >{ > return __xstat (3, __path, __statbuf); >} > > >extern __inline__ int lstat (__const char *__path, > struct stat *__statbuf) >{ > return __lxstat (3, __path, __statbuf); >} > > >extern __inline__ int fstat (int __fd, struct stat *__statbuf) >{ > return __fxstat (3, __fd, __statbuf); >} > > >extern __inline__ int mknod (__const char *__path, __mode_t __mode, > __dev_t __dev) >{ > return __xmknod (1, __path, __mode, &__dev); >} > > > > > >extern __inline__ int stat64 (__const char *__path, > struct stat64 *__statbuf) >{ > return __xstat64 (3, __path, __statbuf); >} > > >extern __inline__ int lstat64 (__const char *__path, > struct stat64 *__statbuf) >{ > return __lxstat64 (3, __path, __statbuf); >} > > >extern __inline__ int fstat64 (int __fd, struct stat64 *__statbuf) >{ > return __fxstat64 (3, __fd, __statbuf); >} > > > > > ># 38 "/usr/include/fcntl.h" 2 3 4 ># 63 "/usr/include/fcntl.h" 3 4 >extern int fcntl (int __fd, int __cmd, ...); ># 75 "/usr/include/fcntl.h" 3 4 >extern int open (__const char *__file, int __oflag, ...) __asm__ ("" "open64"); > > > > > >extern int open64 (__const char *__file, int __oflag, ...); ># 93 "/usr/include/fcntl.h" 3 4 >extern int creat (__const char *__file, __mode_t __mode) __asm__ ("" "creat64"); > > > > > > >extern int creat64 (__const char *__file, __mode_t __mode); ># 122 "/usr/include/fcntl.h" 3 4 >extern int lockf (int __fd, int __cmd, __off64_t __len) __asm__ ("" "lockf64"); > > > > > >extern int lockf64 (int __fd, int __cmd, __off64_t __len); ># 140 "/usr/include/fcntl.h" 3 4 >extern int posix_fadvise (int __fd, __off64_t __offset, __off64_t __len, int __advise) __asm__ ("" "posix_fadvise64"); > > > > > > > >extern int posix_fadvise64 (int __fd, __off64_t __offset, __off64_t __len, > int __advise) ; ># 161 "/usr/include/fcntl.h" 3 4 >extern int posix_fallocate (int __fd, __off64_t __offset, __off64_t __len) __asm__ ("" "posix_fallocate64"); > > > > > > > >extern int posix_fallocate64 (int __fd, __off64_t __offset, __off64_t __len); > > > > ># 25 "./include/filecntl.h" 2 ># 28 "./parse.y" 2 > > ># 1 "/usr/include/unistd.h" 1 3 4 ># 28 "/usr/include/unistd.h" 3 4 > ># 171 "/usr/include/unistd.h" 3 4 ># 1 "/usr/include/bits/posix_opt.h" 1 3 4 ># 172 "/usr/include/unistd.h" 2 3 4 > > > ># 1 "/usr/include/bits/environments.h" 1 3 4 ># 23 "/usr/include/bits/environments.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 24 "/usr/include/bits/environments.h" 2 3 4 ># 176 "/usr/include/unistd.h" 2 3 4 ># 195 "/usr/include/unistd.h" 3 4 ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 ># 196 "/usr/include/unistd.h" 2 3 4 ># 243 "/usr/include/unistd.h" 3 4 >typedef __socklen_t socklen_t; ># 256 "/usr/include/unistd.h" 3 4 >extern int access (__const char *__name, int __type) ; > > > > >extern int euidaccess (__const char *__name, int __type) ; ># 289 "/usr/include/unistd.h" 3 4 >extern __off64_t lseek (int __fd, __off64_t __offset, int __whence) __asm__ ("" "lseek64"); ># 298 "/usr/include/unistd.h" 3 4 >extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) ; > > > > > > >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); ># 340 "/usr/include/unistd.h" 3 4 >extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64"); > > >extern ssize_t pwrite (int __fd, __const void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pwrite64"); ># 356 "/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]) ; ># 378 "/usr/include/unistd.h" 3 4 >extern unsigned int alarm (unsigned int __seconds) ; ># 390 "/usr/include/unistd.h" 3 4 >extern unsigned int sleep (unsigned int __seconds); > > > > > > >extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) > ; > > > > > > >extern int usleep (__useconds_t __useconds); ># 414 "/usr/include/unistd.h" 3 4 >extern int pause (void); > > > >extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) > ; > > > >extern int fchown (int __fd, __uid_t __owner, __gid_t __group) ; > > > > >extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) > ; > > > > >extern int chdir (__const char *__path) ; > > > >extern int fchdir (int __fd) ; ># 448 "/usr/include/unistd.h" 3 4 >extern char *getcwd (char *__buf, size_t __size) ; > > > > > >extern char *get_current_dir_name (void) ; > > > > > > >extern char *getwd (char *__buf) ; > > > > >extern int dup (int __fd) ; > > >extern int dup2 (int __fd, int __fd2) ; > > >extern char **__environ; > >extern char **environ; > > > > > >extern int execve (__const char *__path, char *__const __argv[], > char *__const __envp[]) ; > > > > >extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[]) > ; > > > > >extern int execv (__const char *__path, char *__const __argv[]) ; > > > >extern int execle (__const char *__path, __const char *__arg, ...) ; > > > >extern int execl (__const char *__path, __const char *__arg, ...) ; > > > >extern int execvp (__const char *__file, char *__const __argv[]) ; > > > > >extern int execlp (__const char *__file, __const char *__arg, ...) ; > > > > >extern int nice (int __inc) ; > > > > >extern void _exit (int __status) __attribute__ ((__noreturn__)); > > > > > ># 1 "/usr/include/bits/confname.h" 1 3 4 ># 26 "/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 > > > }; > > >enum > { > _CS_PATH, > > > _CS_V6_WIDTH_RESTRICTED_ENVS, > > > _CS_GNU_LIBC_VERSION, > > _CS_GNU_LIBPTHREAD_VERSION, > > > _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 > > }; ># 526 "/usr/include/unistd.h" 2 3 4 > > >extern long int pathconf (__const char *__path, int __name) ; > > >extern long int fpathconf (int __fd, int __name) ; > > >extern long int sysconf (int __name) __attribute__ ((__const__)); > > > >extern size_t confstr (int __name, char *__buf, size_t __len) ; > > > > >extern __pid_t getpid (void) ; > > >extern __pid_t getppid (void) ; > > > > >extern __pid_t getpgrp (void) ; ># 561 "/usr/include/unistd.h" 3 4 >extern __pid_t __getpgid (__pid_t __pid) ; > >extern __pid_t getpgid (__pid_t __pid) ; > > > > > > >extern int setpgid (__pid_t __pid, __pid_t __pgid) ; ># 587 "/usr/include/unistd.h" 3 4 >extern int setpgrp (void) ; ># 605 "/usr/include/unistd.h" 3 4 >extern __pid_t setsid (void) ; > > > >extern __pid_t getsid (__pid_t __pid) ; > > > >extern __uid_t getuid (void) ; > > >extern __uid_t geteuid (void) ; > > >extern __gid_t getgid (void) ; > > >extern __gid_t getegid (void) ; > > > > >extern int getgroups (int __size, __gid_t __list[]) ; > > > >extern int group_member (__gid_t __gid) ; > > > > > > >extern int setuid (__uid_t __uid) ; > > > > >extern int setreuid (__uid_t __ruid, __uid_t __euid) ; > > > > >extern int seteuid (__uid_t __uid) ; > > > > > > >extern int setgid (__gid_t __gid) ; > > > > >extern int setregid (__gid_t __rgid, __gid_t __egid) ; > > > > >extern int setegid (__gid_t __gid) ; > > > > > >extern int getresuid (__uid_t *__euid, __uid_t *__ruid, __uid_t *__suid); > > > >extern int getresgid (__gid_t *__egid, __gid_t *__rgid, __gid_t *__sgid); > > > >extern int setresuid (__uid_t __euid, __uid_t __ruid, __uid_t __suid); > > > >extern int setresgid (__gid_t __egid, __gid_t __rgid, __gid_t __sgid); > > > > > > >extern __pid_t fork (void) ; > > > > > > >extern __pid_t vfork (void) ; > > > > > >extern char *ttyname (int __fd) ; > > > >extern int ttyname_r (int __fd, char *__buf, size_t __buflen) ; > > > >extern int isatty (int __fd) ; > > > > > >extern int ttyslot (void) ; > > > > >extern int link (__const char *__from, __const char *__to) ; > > > >extern int symlink (__const char *__from, __const char *__to) ; > > > > >extern int readlink (__const char *__restrict __path, char *__restrict __buf, > size_t __len) ; > > > >extern int unlink (__const char *__name) ; > > >extern int rmdir (__const char *__path) ; > > > >extern __pid_t tcgetpgrp (int __fd) ; > > >extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) ; > > > > > > >extern char *getlogin (void); > > > > > > > >extern int getlogin_r (char *__name, size_t __name_len); > > > > >extern int setlogin (__const char *__name) ; ># 775 "/usr/include/unistd.h" 3 4 ># 1 "/usr/include/getopt.h" 1 3 4 ># 59 "/usr/include/getopt.h" 3 4 >extern char *optarg; ># 73 "/usr/include/getopt.h" 3 4 >extern int optind; > > > > >extern int opterr; > > > >extern int optopt; ># 152 "/usr/include/getopt.h" 3 4 >extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) > ; ># 776 "/usr/include/unistd.h" 2 3 4 > > > > > > > >extern int gethostname (char *__name, size_t __len) ; > > > > > > >extern int sethostname (__const char *__name, size_t __len) ; > > > >extern int sethostid (long int __id) ; > > > > > >extern int getdomainname (char *__name, size_t __len) ; >extern int setdomainname (__const char *__name, size_t __len) ; > > > > > >extern int vhangup (void) ; > > >extern int revoke (__const char *__file) ; > > > > > > > >extern int profil (unsigned short int *__sample_buffer, size_t __size, > size_t __offset, unsigned int __scale) ; > > > > > >extern int acct (__const char *__name) ; > > > >extern char *getusershell (void) ; >extern void endusershell (void) ; >extern void setusershell (void) ; > > > > > >extern int daemon (int __nochdir, int __noclose) ; > > > > > > >extern int chroot (__const char *__path) ; > > > >extern char *getpass (__const char *__prompt); ># 857 "/usr/include/unistd.h" 3 4 >extern int fsync (int __fd); > > > > > > >extern long int gethostid (void); > > >extern void sync (void) ; > > > > >extern int getpagesize (void) __attribute__ ((__const__)); > > > > > > > >extern int truncate (__const char *__file, __off64_t __length) __asm__ ("" "truncate64"); > > > > > > > >extern int truncate64 (__const char *__file, __off64_t __length) ; > > > > > > > >extern int ftruncate (int __fd, __off64_t __length) __asm__ ("" "ftruncate64"); > > > > > > >extern int ftruncate64 (int __fd, __off64_t __length) ; > > > > > >extern int getdtablesize (void) ; ># 918 "/usr/include/unistd.h" 3 4 >extern int brk (void *__addr) ; > > > > > >extern void *sbrk (intptr_t __delta) ; ># 939 "/usr/include/unistd.h" 3 4 >extern long int syscall (long int __sysno, ...) ; ># 993 "/usr/include/unistd.h" 3 4 >extern int fdatasync (int __fildes) ; > > > > > > > >extern char *crypt (__const char *__key, __const char *__salt) ; > > > >extern void encrypt (char *__block, int __edflag) ; > > > > > > >extern void swab (__const void *__restrict __from, void *__restrict __to, > ssize_t __n) ; > > > > > > > >extern char *ctermid (char *__s) ; > > > ># 31 "./parse.y" 2 > > > ># 1 "/usr/include/locale.h" 1 3 4 ># 29 "/usr/include/locale.h" 3 4 ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 ># 30 "/usr/include/locale.h" 2 3 4 ># 1 "/usr/include/bits/locale.h" 1 3 4 ># 27 "/usr/include/bits/locale.h" 3 4 >enum >{ > __LC_CTYPE = 0, > __LC_NUMERIC = 1, > __LC_TIME = 2, > __LC_COLLATE = 3, > __LC_MONETARY = 4, > __LC_MESSAGES = 5, > __LC_ALL = 6, > __LC_PAPER = 7, > __LC_NAME = 8, > __LC_ADDRESS = 9, > __LC_TELEPHONE = 10, > __LC_MEASUREMENT = 11, > __LC_IDENTIFICATION = 12 >}; ># 31 "/usr/include/locale.h" 2 3 4 > > ># 52 "/usr/include/locale.h" 3 4 >struct lconv >{ > > > char *decimal_point; > char *thousands_sep; > > > > > > char *grouping; > > > > > > char *int_curr_symbol; > char *currency_symbol; > char *mon_decimal_point; > char *mon_thousands_sep; > char *mon_grouping; > char *positive_sign; > char *negative_sign; > char int_frac_digits; > char frac_digits; > > char p_cs_precedes; > > char p_sep_by_space; > > char n_cs_precedes; > > char n_sep_by_space; > > > > > > > char p_sign_posn; > char n_sign_posn; > > > char int_p_cs_precedes; > > char int_p_sep_by_space; > > char int_n_cs_precedes; > > char int_n_sep_by_space; > > > > > > > char int_p_sign_posn; > char int_n_sign_posn; ># 119 "/usr/include/locale.h" 3 4 >}; > > > > > >extern char *setlocale (int __category, __const char *__locale) ; > > >extern struct lconv *localeconv (void) ; > > ># 148 "/usr/include/locale.h" 3 4 >typedef __locale_t locale_t; > > > > > >extern __locale_t newlocale (int __category_mask, __const char *__locale, > __locale_t __base) ; ># 189 "/usr/include/locale.h" 3 4 >extern __locale_t duplocale (__locale_t __dataset) ; > > > >extern void freelocale (__locale_t __dataset) ; > > > > > > >extern __locale_t uselocale (__locale_t __dataset) ; > > > > > > > > ># 35 "./parse.y" 2 > > ># 1 "/usr/include/stdio.h" 1 3 4 ># 30 "/usr/include/stdio.h" 3 4 > > > > ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 ># 35 "/usr/include/stdio.h" 2 3 4 ># 72 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/libio.h" 1 3 4 ># 32 "/usr/include/libio.h" 3 4 ># 1 "/usr/include/_G_config.h" 1 3 4 ># 14 "/usr/include/_G_config.h" 3 4 ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 ># 15 "/usr/include/_G_config.h" 2 3 4 ># 26 "/usr/include/_G_config.h" 3 4 >typedef struct >{ > __off_t __pos; > __mbstate_t __state; >} _G_fpos_t; >typedef struct >{ > __off64_t __pos; > __mbstate_t __state; >} _G_fpos64_t; ># 44 "/usr/include/_G_config.h" 3 4 ># 1 "/usr/include/gconv.h" 1 3 4 ># 31 "/usr/include/gconv.h" 3 4 ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 ># 32 "/usr/include/gconv.h" 2 3 4 > > > > > >enum >{ > __GCONV_OK = 0, > __GCONV_NOCONV, > __GCONV_NODB, > __GCONV_NOMEM, > > __GCONV_EMPTY_INPUT, > __GCONV_FULL_OUTPUT, > __GCONV_ILLEGAL_INPUT, > __GCONV_INCOMPLETE_INPUT, > > __GCONV_ILLEGAL_DESCRIPTOR, > __GCONV_INTERNAL_ERROR >}; > > > >enum >{ > __GCONV_IS_LAST = 0x0001, > __GCONV_IGNORE_ERRORS = 0x0002 >}; > > > >struct __gconv_step; >struct __gconv_step_data; >struct __gconv_loaded_object; >struct __gconv_trans_data; > > > >typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, > __const unsigned char **, __const unsigned char *, > unsigned char **, size_t *, int, int); > > >typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); > > >typedef int (*__gconv_init_fct) (struct __gconv_step *); >typedef void (*__gconv_end_fct) (struct __gconv_step *); > > > >typedef int (*__gconv_trans_fct) (struct __gconv_step *, > struct __gconv_step_data *, void *, > __const unsigned char *, > __const unsigned char **, > __const unsigned char *, unsigned char **, > size_t *); > > >typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, > __const unsigned char *, > unsigned char *, unsigned char *); > > >typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, > size_t *); > > >typedef int (*__gconv_trans_init_fct) (void **, const char *); >typedef void (*__gconv_trans_end_fct) (void *); > >struct __gconv_trans_data >{ > > __gconv_trans_fct __trans_fct; > __gconv_trans_context_fct __trans_context_fct; > __gconv_trans_end_fct __trans_end_fct; > void *__data; > struct __gconv_trans_data *__next; >}; > > > >struct __gconv_step >{ > struct __gconv_loaded_object *__shlib_handle; > __const char *__modname; > > int __counter; > > char *__from_name; > char *__to_name; > > __gconv_fct __fct; > __gconv_btowc_fct __btowc_fct; > __gconv_init_fct __init_fct; > __gconv_end_fct __end_fct; > > > > int __min_needed_from; > int __max_needed_from; > int __min_needed_to; > int __max_needed_to; > > > int __stateful; > > void *__data; >}; > > > >struct __gconv_step_data >{ > unsigned char *__outbuf; > unsigned char *__outbufend; > > > > int __flags; > > > > int __invocation_counter; > > > > int __internal_use; > > __mbstate_t *__statep; > __mbstate_t __state; > > > > struct __gconv_trans_data *__trans; >}; > > > >typedef struct __gconv_info >{ > size_t __nsteps; > struct __gconv_step *__steps; > __extension__ struct __gconv_step_data __data []; >} *__gconv_t; ># 45 "/usr/include/_G_config.h" 2 3 4 >typedef union >{ > struct __gconv_info __cd; > struct > { > struct __gconv_info __cd; > struct __gconv_step_data __data; > } __combined; >} _G_iconv_t; > >typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); >typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); >typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); >typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); ># 33 "/usr/include/libio.h" 2 3 4 ># 53 "/usr/include/libio.h" 3 4 ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h" 1 3 4 ># 54 "/usr/include/libio.h" 2 3 4 ># 163 "/usr/include/libio.h" 3 4 >struct _IO_jump_t; struct _IO_FILE; ># 173 "/usr/include/libio.h" 3 4 >typedef void _IO_lock_t; > > > > > >struct _IO_marker { > struct _IO_marker *_next; > struct _IO_FILE *_sbuf; > > > > int _pos; ># 196 "/usr/include/libio.h" 3 4 >}; > > >enum __codecvt_result >{ > __codecvt_ok, > __codecvt_partial, > __codecvt_error, > __codecvt_noconv >}; ># 264 "/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; ># 312 "/usr/include/libio.h" 3 4 > __off64_t _offset; > > > > > > void *__pad1; > void *__pad2; > > int _mode; > > char _unused2[15 * sizeof (int) - 2 * sizeof (void *)]; > >}; > > >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_; ># 351 "/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) ; >extern wint_t __wunderflow (_IO_FILE *) ; >extern wint_t __wuflow (_IO_FILE *) ; >extern wint_t __woverflow (_IO_FILE *, wint_t) ; ># 441 "/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) ; >extern int _IO_ferror (_IO_FILE *__fp) ; > >extern int _IO_peekc_locked (_IO_FILE *__fp) ; > > > > > >extern void _IO_flockfile (_IO_FILE *) ; >extern void _IO_funlockfile (_IO_FILE *) ; >extern int _IO_ftrylockfile (_IO_FILE *) ; ># 471 "/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 *) ; ># 73 "/usr/include/stdio.h" 2 3 4 > > > > >typedef __gnuc_va_list va_list; ># 86 "/usr/include/stdio.h" 3 4 > > > > >typedef _G_fpos64_t fpos_t; > > > >typedef _G_fpos64_t fpos64_t; ># 138 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/bits/stdio_lim.h" 1 3 4 ># 139 "/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) ; > >extern int rename (__const char *__old, __const char *__new) ; > > > > ># 167 "/usr/include/stdio.h" 3 4 >extern FILE *tmpfile (void) __asm__ ("" "tmpfile64"); > > > > > > >extern FILE *tmpfile64 (void); > > > >extern char *tmpnam (char *__s) ; > > > > > >extern char *tmpnam_r (char *__s) ; ># 196 "/usr/include/stdio.h" 3 4 >extern char *tempnam (__const char *__dir, __const char *__pfx) > __attribute__ ((__malloc__)); > > > > > > > > >extern int fclose (FILE *__stream); > > > > >extern int fflush (FILE *__stream); > ># 221 "/usr/include/stdio.h" 3 4 >extern int fflush_unlocked (FILE *__stream); ># 231 "/usr/include/stdio.h" 3 4 >extern int fcloseall (void); > > > > ># 252 "/usr/include/stdio.h" 3 4 >extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes) __asm__ ("" "fopen64"); > >extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64"); > > > > > > > > > >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) ; > > > > > >extern FILE *fopencookie (void *__restrict __magic_cookie, > __const char *__restrict __modes, > _IO_cookie_io_functions_t __io_funcs) ; > > >extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) ; > > > > >extern FILE *open_memstream (char **__restrict __bufloc, > size_t *__restrict __sizeloc) ; > > > > > > >extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ; > > > >extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, > int __modes, size_t __n) ; > > > > > >extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, > size_t __size) ; > > >extern void setlinebuf (FILE *__stream) ; > > > > > > > > >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, ...) ; > > > > > >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) ; > > > > > >extern int snprintf (char *__restrict __s, size_t __maxlen, > __const char *__restrict __format, ...) > __attribute__ ((__format__ (__printf__, 3, 4))); > >extern int vsnprintf (char *__restrict __s, size_t __maxlen, > __const char *__restrict __format, __gnuc_va_list __arg) > __attribute__ ((__format__ (__printf__, 3, 0))); > > > > > > >extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f, > __gnuc_va_list __arg) > __attribute__ ((__format__ (__printf__, 2, 0))); >extern int __asprintf (char **__restrict __ptr, > __const char *__restrict __fmt, ...) > __attribute__ ((__format__ (__printf__, 2, 3))); >extern int asprintf (char **__restrict __ptr, > __const char *__restrict __fmt, ...) > __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, ...) ; > > > > > > > > >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__ ((__format__ (__scanf__, 2, 0))); > > > > > > > > > >extern int fgetc (FILE *__stream); >extern int getc (FILE *__stream); > > > > > >extern int getchar (void); > ># 454 "/usr/include/stdio.h" 3 4 >extern int getc_unlocked (FILE *__stream); >extern int getchar_unlocked (void); ># 465 "/usr/include/stdio.h" 3 4 >extern int fgetc_unlocked (FILE *__stream); > > > > > > > > > > > >extern int fputc (int __c, FILE *__stream); >extern int putc (int __c, FILE *__stream); > > > > > >extern int putchar (int __c); > ># 498 "/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); > > > > > > >extern char *gets (char *__s); > ># 543 "/usr/include/stdio.h" 3 4 >extern char *fgets_unlocked (char *__restrict __s, int __n, > FILE *__restrict __stream); ># 559 "/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); > ># 620 "/usr/include/stdio.h" 3 4 >extern int fputs_unlocked (__const char *__restrict __s, > FILE *__restrict __stream); ># 631 "/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); > ># 675 "/usr/include/stdio.h" 3 4 >extern int fseeko (FILE *__stream, __off64_t __off, int __whence) __asm__ ("" "fseeko64"); > > >extern __off64_t ftello (FILE *__stream) __asm__ ("" "ftello64"); > > > > > > > > ># 700 "/usr/include/stdio.h" 3 4 >extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) __asm__ ("" "fgetpos64"); > >extern int fsetpos (FILE *__stream, __const fpos_t *__pos) __asm__ ("" "fsetpos64"); > > > > > > > > > >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) ; > >extern int feof (FILE *__stream) ; > >extern int ferror (FILE *__stream) ; > > > > >extern void clearerr_unlocked (FILE *__stream) ; >extern int feof_unlocked (FILE *__stream) ; >extern int ferror_unlocked (FILE *__stream) ; > > > > > > > > >extern void perror (__const char *__s); > > > > > > ># 1 "/usr/include/bits/sys_errlist.h" 1 3 4 ># 27 "/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[]; ># 748 "/usr/include/stdio.h" 2 3 4 > > > > >extern int fileno (FILE *__stream) ; > > > > >extern int fileno_unlocked (FILE *__stream) ; ># 767 "/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) ; > > > > > >extern char *cuserid (char *__s); > > > > >struct obstack; > > >extern int obstack_printf (struct obstack *__restrict __obstack, > __const char *__restrict __format, ...) > __attribute__ ((__format__ (__printf__, 2, 3))); >extern int obstack_vprintf (struct obstack *__restrict __obstack, > __const char *__restrict __format, > __gnuc_va_list __args) > __attribute__ ((__format__ (__printf__, 2, 0))); > > > > > > > >extern void flockfile (FILE *__stream) ; > > > >extern int ftrylockfile (FILE *__stream) ; > > >extern void funlockfile (FILE *__stream) ; ># 828 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/bits/stdio.h" 1 3 4 ># 33 "/usr/include/bits/stdio.h" 3 4 >extern __inline int >vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) >{ > return vfprintf (stdout, __fmt, __arg); >} > > >extern __inline int >getchar (void) >{ > return _IO_getc (stdin); >} > > > > >extern __inline int >getc_unlocked (FILE *__fp) >{ > return (__builtin_expect ((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end, 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); >} > > >extern __inline int >getchar_unlocked (void) >{ > return (__builtin_expect ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end, 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); >} > > > > >extern __inline int >putchar (int __c) >{ > return _IO_putc (__c, stdout); >} > > > > >extern __inline int >fputc_unlocked (int __c, FILE *__stream) >{ > return (__builtin_expect ((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end, 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); >} > > > > > >extern __inline int >putc_unlocked (int __c, FILE *__stream) >{ > return (__builtin_expect ((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end, 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); >} > > >extern __inline int >putchar_unlocked (int __c) >{ > return (__builtin_expect ((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end, 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); >} > > > > > >extern __inline __ssize_t >getline (char **__lineptr, size_t *__n, FILE *__stream) >{ > return __getdelim (__lineptr, __n, '\n', __stream); >} > > > > > >extern __inline int >feof_unlocked (FILE *__stream) >{ > return (((__stream)->_flags & 0x10) != 0); >} > > >extern __inline int >ferror_unlocked (FILE *__stream) >{ > return (((__stream)->_flags & 0x20) != 0); >} ># 829 "/usr/include/stdio.h" 2 3 4 > > > ># 38 "./parse.y" 2 ># 1 "./include/chartypes.h" 1 ># 24 "./include/chartypes.h" ># 1 "/usr/include/ctype.h" 1 3 4 ># 30 "/usr/include/ctype.h" 3 4 > ># 48 "/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)) >}; ># 81 "/usr/include/ctype.h" 3 4 >extern __const unsigned short int **__ctype_b_loc (void) > __attribute__ ((__const)); >extern __const __int32_t **__ctype_tolower_loc (void) > __attribute__ ((__const)); >extern __const __int32_t **__ctype_toupper_loc (void) > __attribute__ ((__const)); ># 96 "/usr/include/ctype.h" 3 4 > > > > > > >extern int isalnum (int) ; >extern int isalpha (int) ; >extern int iscntrl (int) ; >extern int isdigit (int) ; >extern int islower (int) ; >extern int isgraph (int) ; >extern int isprint (int) ; >extern int ispunct (int) ; >extern int isspace (int) ; >extern int isupper (int) ; >extern int isxdigit (int) ; > > > >extern int tolower (int __c) ; > > >extern int toupper (int __c) ; > > > > > > > > >extern int isblank (int) ; > > > > > > >extern int isctype (int __c, int __mask) ; > > > > > > >extern int isascii (int __c) ; > > > >extern int toascii (int __c) ; > > > >extern int _toupper (int) ; >extern int _tolower (int) ; ># 190 "/usr/include/ctype.h" 3 4 >extern __inline int >tolower (int __c) >{ > return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; >} > >extern __inline int >toupper (int __c) >{ > return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; >} ># 247 "/usr/include/ctype.h" 3 4 >extern int isalnum_l (int, __locale_t) ; >extern int isalpha_l (int, __locale_t) ; >extern int iscntrl_l (int, __locale_t) ; >extern int isdigit_l (int, __locale_t) ; >extern int islower_l (int, __locale_t) ; >extern int isgraph_l (int, __locale_t) ; >extern int isprint_l (int, __locale_t) ; >extern int ispunct_l (int, __locale_t) ; >extern int isspace_l (int, __locale_t) ; >extern int isupper_l (int, __locale_t) ; >extern int isxdigit_l (int, __locale_t) ; > >extern int isblank_l (int, __locale_t) ; > > > >extern int __tolower_l (int __c, __locale_t __l) ; >extern int tolower_l (int __c, __locale_t __l) ; > > >extern int __toupper_l (int __c, __locale_t __l) ; >extern int toupper_l (int __c, __locale_t __l) ; ># 323 "/usr/include/ctype.h" 3 4 > ># 25 "./include/chartypes.h" 2 ># 39 "./parse.y" 2 ># 1 "/usr/include/signal.h" 1 3 4 ># 31 "/usr/include/signal.h" 3 4 > > ># 1 "/usr/include/bits/sigset.h" 1 3 4 ># 103 "/usr/include/bits/sigset.h" 3 4 >extern int __sigismember (__const __sigset_t *, int); >extern int __sigaddset (__sigset_t *, int); >extern int __sigdelset (__sigset_t *, int); ># 117 "/usr/include/bits/sigset.h" 3 4 >extern __inline int __sigismember (__const __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return (__set->__val[__word] & __mask) ? 1 : 0; } >extern __inline int __sigaddset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] |= __mask), 0); } >extern __inline int __sigdelset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] &= ~__mask), 0); } ># 34 "/usr/include/signal.h" 2 3 4 > > > > > > > >typedef __sig_atomic_t sig_atomic_t; > ># 58 "/usr/include/signal.h" 3 4 ># 1 "/usr/include/bits/signum.h" 1 3 4 ># 59 "/usr/include/signal.h" 2 3 4 ># 73 "/usr/include/signal.h" 3 4 >typedef void (*__sighandler_t) (int); > > > > >extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) > ; > >extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler) > ; > > > > > > > >extern __sighandler_t signal (int __sig, __sighandler_t __handler) ; ># 102 "/usr/include/signal.h" 3 4 > > > > > >extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler) ; > > > > > > >extern int kill (__pid_t __pid, int __sig) ; > > > > > > >extern int killpg (__pid_t __pgrp, int __sig) ; > > > > >extern int raise (int __sig) ; > > > > >extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) ; >extern int gsignal (int __sig) ; > > > > >extern void psignal (int __sig, __const char *__s); ># 149 "/usr/include/signal.h" 3 4 >extern int __sigpause (int __sig_or_mask, int __is_sig); ># 159 "/usr/include/signal.h" 3 4 >extern int sigpause (int __sig) __asm__ ("__xpg_sigpause"); ># 178 "/usr/include/signal.h" 3 4 >extern int sigblock (int __mask) ; > > >extern int sigsetmask (int __mask) ; > > >extern int siggetmask (void) ; ># 193 "/usr/include/signal.h" 3 4 >typedef __sighandler_t sighandler_t; > > > > >typedef __sighandler_t sig_t; > > > > > > > ># 1 "/usr/include/time.h" 1 3 4 ># 207 "/usr/include/signal.h" 2 3 4 > > ># 1 "/usr/include/bits/siginfo.h" 1 3 4 ># 25 "/usr/include/bits/siginfo.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 26 "/usr/include/bits/siginfo.h" 2 3 4 > > > > > > > >typedef union sigval > { > int sival_int; > void *sival_ptr; > } sigval_t; ># 51 "/usr/include/bits/siginfo.h" 3 4 >typedef struct siginfo > { > int si_signo; > int si_errno; > > int si_code; > > union > { > int _pad[((128 / sizeof (int)) - 3)]; > > > 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; > } _sigfault; > > > struct > { > long int si_band; > int si_fd; > } _sigpoll; > } _sifields; > } siginfo_t; ># 129 "/usr/include/bits/siginfo.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 > >}; > > > >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 > >}; > > >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 > >}; ># 273 "/usr/include/bits/siginfo.h" 3 4 >typedef struct sigevent > { > sigval_t sigev_value; > int sigev_signo; > int sigev_notify; > > union > { > int _pad[((64 / sizeof (int)) - 3)]; > > > > __pid_t _tid; > > struct > { > void (*_function) (sigval_t); > void *_attribute; > } _sigev_thread; > } _sigev_un; > } sigevent_t; > > > > > > >enum >{ > SIGEV_SIGNAL = 0, > > SIGEV_NONE, > > SIGEV_THREAD, > > > SIGEV_THREAD_ID = 4 > >}; ># 210 "/usr/include/signal.h" 2 3 4 > > > >extern int sigemptyset (sigset_t *__set) ; > > >extern int sigfillset (sigset_t *__set) ; > > >extern int sigaddset (sigset_t *__set, int __signo) ; > > >extern int sigdelset (sigset_t *__set, int __signo) ; > > >extern int sigismember (__const sigset_t *__set, int __signo) ; > > > >extern int sigisemptyset (__const sigset_t *__set) ; > > >extern int sigandset (sigset_t *__set, __const sigset_t *__left, > __const sigset_t *__right) ; > > >extern int sigorset (sigset_t *__set, __const sigset_t *__left, > __const sigset_t *__right) ; > > > > ># 1 "/usr/include/bits/sigaction.h" 1 3 4 ># 25 "/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); > }; ># 243 "/usr/include/signal.h" 2 3 4 > > >extern int sigprocmask (int __how, __const sigset_t *__restrict __set, > sigset_t *__restrict __oset) ; > > > > > > >extern int sigsuspend (__const sigset_t *__set); > > >extern int sigaction (int __sig, __const struct sigaction *__restrict __act, > struct sigaction *__restrict __oact) ; > > >extern int sigpending (sigset_t *__set) ; > > > > > > >extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig); > > > > > > >extern int sigwaitinfo (__const sigset_t *__restrict __set, > siginfo_t *__restrict __info); > > > > > > >extern int sigtimedwait (__const sigset_t *__restrict __set, > siginfo_t *__restrict __info, > __const struct timespec *__restrict __timeout); > > > >extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val) > ; ># 298 "/usr/include/signal.h" 3 4 >extern __const char *__const _sys_siglist[65]; >extern __const char *__const sys_siglist[65]; > > >struct sigvec > { > __sighandler_t sv_handler; > int sv_mask; > > int sv_flags; > > }; ># 322 "/usr/include/signal.h" 3 4 >extern int sigvec (int __sig, __const struct sigvec *__vec, > struct sigvec *__ovec) ; > > > ># 1 "/usr/include/bits/sigcontext.h" 1 3 4 ># 28 "/usr/include/bits/sigcontext.h" 3 4 ># 1 "/usr/include/asm/sigcontext.h" 1 3 4 > > > ># 1 "/usr/include/linux/compiler.h" 1 3 4 ># 34 "/usr/include/linux/compiler.h" 3 4 ># 1 "/usr/include/linux/compiler-gcc3.h" 1 3 4 > > > ># 1 "/usr/include/linux/compiler-gcc.h" 1 3 4 ># 5 "/usr/include/linux/compiler-gcc3.h" 2 3 4 ># 35 "/usr/include/linux/compiler.h" 2 3 4 ># 5 "/usr/include/asm/sigcontext.h" 2 3 4 ># 20 "/usr/include/asm/sigcontext.h" 3 4 >struct _fpreg { > unsigned short significand[4]; > unsigned short exponent; >}; > >struct _fpxreg { > unsigned short significand[4]; > unsigned short exponent; > unsigned short padding[3]; >}; > >struct _xmmreg { > unsigned long element[4]; >}; > >struct _fpstate { > > unsigned long cw; > unsigned long sw; > unsigned long tag; > unsigned long ipoff; > unsigned long cssel; > unsigned long dataoff; > unsigned long datasel; > struct _fpreg _st[8]; > unsigned short status; > unsigned short magic; > > > unsigned long _fxsr_env[6]; > unsigned long mxcsr; > unsigned long reserved; > struct _fpxreg _fxsr_st[8]; > struct _xmmreg _xmm[8]; > unsigned long padding[56]; >}; > > > >struct sigcontext { > unsigned short gs, __gsh; > unsigned short fs, __fsh; > unsigned short es, __esh; > unsigned short ds, __dsh; > unsigned long edi; > unsigned long esi; > unsigned long ebp; > unsigned long esp; > unsigned long ebx; > unsigned long edx; > unsigned long ecx; > unsigned long eax; > unsigned long trapno; > unsigned long err; > unsigned long eip; > unsigned short cs, __csh; > unsigned long eflags; > unsigned long esp_at_signal; > unsigned short ss, __ssh; > struct _fpstate * fpstate; > unsigned long oldmask; > unsigned long cr2; >}; ># 29 "/usr/include/bits/sigcontext.h" 2 3 4 ># 328 "/usr/include/signal.h" 2 3 4 > > >extern int sigreturn (struct sigcontext *__scp) ; ># 340 "/usr/include/signal.h" 3 4 >extern int siginterrupt (int __sig, int __interrupt) ; > ># 1 "/usr/include/bits/sigstack.h" 1 3 4 ># 26 "/usr/include/bits/sigstack.h" 3 4 >struct sigstack > { > void *ss_sp; > int ss_onstack; > }; > > > >enum >{ > SS_ONSTACK = 1, > > SS_DISABLE > >}; ># 50 "/usr/include/bits/sigstack.h" 3 4 >typedef struct sigaltstack > { > void *ss_sp; > int ss_flags; > size_t ss_size; > } stack_t; ># 343 "/usr/include/signal.h" 2 3 4 > > ># 1 "/usr/include/sys/ucontext.h" 1 3 4 ># 23 "/usr/include/sys/ucontext.h" 3 4 ># 1 "/usr/include/signal.h" 1 3 4 ># 24 "/usr/include/sys/ucontext.h" 2 3 4 > > > ># 1 "/usr/include/bits/sigcontext.h" 1 3 4 ># 28 "/usr/include/sys/ucontext.h" 2 3 4 > > > >typedef int greg_t; > > > > > >typedef greg_t gregset_t[19]; > > > >enum >{ > REG_GS = 0, > > REG_FS, > > REG_ES, > > REG_DS, > > REG_EDI, > > REG_ESI, > > REG_EBP, > > REG_ESP, > > REG_EBX, > > REG_EDX, > > REG_ECX, > > REG_EAX, > > REG_TRAPNO, > > REG_ERR, > > REG_EIP, > > REG_CS, > > REG_EFL, > > REG_UESP, > > REG_SS > >}; > > > >struct _libc_fpreg >{ > unsigned short int significand[4]; > unsigned short int exponent; >}; > >struct _libc_fpstate >{ > unsigned long int cw; > unsigned long int sw; > unsigned long int tag; > unsigned long int ipoff; > unsigned long int cssel; > unsigned long int dataoff; > unsigned long int datasel; > struct _libc_fpreg _st[8]; > unsigned long int status; >}; > > >typedef struct _libc_fpstate *fpregset_t; > > >typedef struct > { > gregset_t gregs; > > > fpregset_t fpregs; > unsigned long int oldmask; > unsigned long int cr2; > } mcontext_t; > > >typedef struct ucontext > { > unsigned long int uc_flags; > struct ucontext *uc_link; > stack_t uc_stack; > mcontext_t uc_mcontext; > __sigset_t uc_sigmask; > struct _libc_fpstate __fpregs_mem; > } ucontext_t; ># 346 "/usr/include/signal.h" 2 3 4 > > > > > >extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) ; > > > >extern int sigaltstack (__const struct sigaltstack *__restrict __ss, > struct sigaltstack *__restrict __oss) ; > > > > > > > >extern int sighold (int __sig) ; > > >extern int sigrelse (int __sig) ; > > >extern int sigignore (int __sig) ; > > >extern __sighandler_t sigset (int __sig, __sighandler_t __disp) ; > > > > > > ># 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); > > >extern int pthread_kill (pthread_t __threadid, int __signo) ; ># 381 "/usr/include/signal.h" 2 3 4 > > > > > > >extern int __libc_current_sigrtmin (void) ; > >extern int __libc_current_sigrtmax (void) ; > > > > ># 40 "./parse.y" 2 > ># 1 "./include/memalloc.h" 1 ># 42 "./parse.y" 2 > > > ># 1 "shell.h" 1 ># 25 "shell.h" ># 1 "bashjmp.h" 1 ># 24 "bashjmp.h" ># 1 "./include/posixjmp.h" 1 ># 24 "./include/posixjmp.h" ># 1 "/usr/include/setjmp.h" 1 3 4 ># 28 "/usr/include/setjmp.h" 3 4 > > ># 1 "/usr/include/bits/setjmp.h" 1 3 4 ># 38 "/usr/include/bits/setjmp.h" 3 4 >typedef int __jmp_buf[6]; ># 31 "/usr/include/setjmp.h" 2 3 4 ># 1 "/usr/include/bits/sigset.h" 1 3 4 ># 32 "/usr/include/setjmp.h" 2 3 4 > > > > >typedef struct __jmp_buf_tag > { > > > > > __jmp_buf __jmpbuf; > int __mask_was_saved; > __sigset_t __saved_mask; > } jmp_buf[1]; > > > > >extern int setjmp (jmp_buf __env) ; > > > > > > > >extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) ; > > > > >extern int _setjmp (struct __jmp_buf_tag __env[1]) ; ># 76 "/usr/include/setjmp.h" 3 4 > > > > >extern void longjmp (struct __jmp_buf_tag __env[1], int __val) > __attribute__ ((__noreturn__)); > > > > > > > >extern void _longjmp (struct __jmp_buf_tag __env[1], int __val) > __attribute__ ((__noreturn__)); > > > > > > > >typedef struct __jmp_buf_tag sigjmp_buf[1]; ># 108 "/usr/include/setjmp.h" 3 4 >extern void siglongjmp (sigjmp_buf __env, int __val) > __attribute__ ((__noreturn__)); > > > ># 25 "./include/posixjmp.h" 2 ># 25 "bashjmp.h" 2 > >extern sigjmp_buf top_level; >extern sigjmp_buf subshell_top_level; >extern sigjmp_buf return_catch; ># 26 "shell.h" 2 > ># 1 "command.h" 1 ># 25 "command.h" ># 1 "./include/stdc.h" 1 ># 26 "command.h" 2 > > >enum r_instruction { > r_output_direction, r_input_direction, r_inputa_direction, > r_appending_to, r_reading_until, r_reading_string, > r_duplicating_input, r_duplicating_output, r_deblank_reading_until, > r_close_this, r_err_and_out, r_input_output, r_output_force, > r_duplicating_input_word, r_duplicating_output_word, > r_move_input, r_move_output, r_move_input_word, r_move_output_word >}; ># 65 "command.h" >enum command_type { cm_for, cm_case, cm_while, cm_if, cm_simple, cm_select, > cm_connection, cm_function_def, cm_until, cm_group, > cm_arith, cm_cond, cm_arith_for, cm_subshell }; ># 87 "command.h" >typedef struct word_desc { > char *word; > int flags; >} WORD_DESC; > > >typedef struct word_list { > struct word_list *next; > WORD_DESC *word; >} WORD_LIST; ># 110 "command.h" >typedef union { > int dest; > WORD_DESC *filename; >} REDIRECTEE; > > > >typedef struct redirect { > struct redirect *next; > int redirector; > int flags; > enum r_instruction instruction; > REDIRECTEE redirectee; > char *here_doc_eof; >} REDIRECT; > > > >typedef struct element { > WORD_DESC *word; > REDIRECT *redirect; >} ELEMENT; ># 148 "command.h" >typedef struct command { > enum command_type type; > int flags; > int line; > REDIRECT *redirects; > union { > struct for_com *For; > struct case_com *Case; > struct while_com *While; > struct if_com *If; > struct connection *Connection; > struct simple_com *Simple; > struct function_def *Function_def; > struct group_com *Group; > > struct select_com *Select; > > > struct arith_com *Arith; > > > struct cond_com *Cond; > > > struct arith_for_com *ArithFor; > > struct subshell_com *Subshell; > } value; >} COMMAND; > > >typedef struct connection { > int ignore; > COMMAND *first; > COMMAND *second; > int connector; >} CONNECTION; > > > > >typedef struct pattern_list { > struct pattern_list *next; > WORD_LIST *patterns; > COMMAND *action; >} PATTERN_LIST; > > >typedef struct case_com { > int flags; > WORD_DESC *word; > PATTERN_LIST *clauses; >} CASE_COM; > > >typedef struct for_com { > int flags; > WORD_DESC *name; > WORD_LIST *map_list; > COMMAND *action; > > >} FOR_COM; > > >typedef struct arith_for_com { > int flags; > int line; > WORD_LIST *init; > WORD_LIST *test; > WORD_LIST *step; > COMMAND *action; >} ARITH_FOR_COM; > > > > >typedef struct select_com { > int flags; > WORD_DESC *name; > WORD_LIST *map_list; > COMMAND *action; > > >} SELECT_COM; > > > >typedef struct if_com { > int flags; > COMMAND *test; > COMMAND *true_case; > COMMAND *false_case; >} IF_COM; > > >typedef struct while_com { > int flags; > COMMAND *test; > COMMAND *action; >} WHILE_COM; > > > > > >typedef struct arith_com { > int flags; > WORD_LIST *exp; > int line; >} ARITH_COM; ># 270 "command.h" >typedef struct cond_com { > int flags; > int line; > int type; > WORD_DESC *op; > struct cond_com *left, *right; >} COND_COM; > > >typedef struct simple_com { > int flags; > WORD_LIST *words; > > REDIRECT *redirects; > int line; >} SIMPLE_COM; > > >typedef struct function_def { > int flags; > WORD_DESC *name; > COMMAND *command; > int line; >} FUNCTION_DEF; > > > >typedef struct group_com { > int ignore; > COMMAND *command; >} GROUP_COM; > >typedef struct subshell_com { > int flags; > COMMAND *command; >} SUBSHELL_COM; > >extern COMMAND *global_command; ># 319 "command.h" >extern WORD_DESC *copy_word (WORD_DESC *) ; >extern WORD_LIST *copy_word_list (WORD_LIST *) ; >extern REDIRECT *copy_redirect (REDIRECT *) ; >extern REDIRECT *copy_redirects (REDIRECT *) ; >extern COMMAND *copy_command (COMMAND *) ; ># 28 "shell.h" 2 ># 1 "syntax.h" 1 ># 67 "syntax.h" >extern const int sh_syntaxtab[]; ># 29 "shell.h" 2 ># 1 "general.h" 1 ># 30 "general.h" ># 1 "/usr/include/sys/time.h" 1 3 4 ># 26 "/usr/include/sys/time.h" 3 4 ># 1 "/usr/include/time.h" 1 3 4 ># 27 "/usr/include/sys/time.h" 2 3 4 > ># 1 "/usr/include/bits/time.h" 1 3 4 ># 29 "/usr/include/sys/time.h" 2 3 4 ># 38 "/usr/include/sys/time.h" 3 4 > ># 56 "/usr/include/sys/time.h" 3 4 >struct timezone > { > int tz_minuteswest; > int tz_dsttime; > }; > >typedef struct timezone *__restrict __timezone_ptr_t; ># 72 "/usr/include/sys/time.h" 3 4 >extern int gettimeofday (struct timeval *__restrict __tv, > __timezone_ptr_t __tz) ; > > > > >extern int settimeofday (__const struct timeval *__tv, > __const struct timezone *__tz) ; > > > > > >extern int adjtime (__const struct timeval *__delta, > struct timeval *__olddelta) ; > > > > >enum __itimer_which > { > > ITIMER_REAL = 0, > > > ITIMER_VIRTUAL = 1, > > > > ITIMER_PROF = 2 > > }; > > > >struct itimerval > { > > struct timeval it_interval; > > struct timeval it_value; > }; > > > > >typedef enum __itimer_which __itimer_which_t; > > > > > > >extern int getitimer (__itimer_which_t __which, > struct itimerval *__value) ; > > > > >extern int setitimer (__itimer_which_t __which, > __const struct itimerval *__restrict __new, > struct itimerval *__restrict __old) ; > > > > >extern int utimes (__const char *__file, __const struct timeval __tvp[2]) > ; > > > >extern int lutimes (__const char *__file, __const struct timeval __tvp[2]) > ; > > >extern int futimes (int __fd, __const struct timeval __tvp[2]) ; ># 181 "/usr/include/sys/time.h" 3 4 > ># 31 "general.h" 2 > ># 1 "/usr/include/sys/resource.h" 1 3 4 ># 25 "/usr/include/sys/resource.h" 3 4 ># 1 "/usr/include/bits/resource.h" 1 3 4 ># 32 "/usr/include/bits/resource.h" 3 4 >enum __rlimit_resource >{ > > RLIMIT_CPU = 0, > > > > RLIMIT_FSIZE = 1, > > > > RLIMIT_DATA = 2, > > > > RLIMIT_STACK = 3, > > > > RLIMIT_CORE = 4, > > > > > > > RLIMIT_RSS = 5, > > > > RLIMIT_NOFILE = 7, > RLIMIT_OFILE = RLIMIT_NOFILE, > > > > > RLIMIT_AS = 9, > > > > RLIMIT_NPROC = 6, > > > > RLIMIT_MEMLOCK = 8, > > > > RLIMIT_LOCKS = 10, > > > RLIMIT_NLIMITS = 11, > RLIM_NLIMITS = RLIMIT_NLIMITS > > >}; ># 109 "/usr/include/bits/resource.h" 3 4 >typedef __rlim64_t rlim_t; > > >typedef __rlim64_t rlim64_t; > > >struct rlimit > { > > rlim_t rlim_cur; > > rlim_t rlim_max; > }; > > >struct rlimit64 > { > > rlim64_t rlim_cur; > > rlim64_t rlim_max; > }; > > > >enum __rusage_who >{ > > RUSAGE_SELF = 0, > > > > RUSAGE_CHILDREN = -1, > > > > RUSAGE_BOTH = -2 > >}; > > ># 1 "/usr/include/bits/time.h" 1 3 4 ># 151 "/usr/include/bits/resource.h" 2 3 4 > > >struct rusage > { > > struct timeval ru_utime; > > struct timeval ru_stime; > > long int ru_maxrss; > > > long int ru_ixrss; > > long int ru_idrss; > > long int ru_isrss; > > > long int ru_minflt; > > long int ru_majflt; > > long int ru_nswap; > > > long int ru_inblock; > > long int ru_oublock; > > long int ru_msgsnd; > > long int ru_msgrcv; > > long int ru_nsignals; > > > > long int ru_nvcsw; > > > long int ru_nivcsw; > }; > > > > > > > >enum __priority_which >{ > PRIO_PROCESS = 0, > > PRIO_PGRP = 1, > > PRIO_USER = 2 > >}; ># 26 "/usr/include/sys/resource.h" 2 3 4 > > > > > > > > > > > > > >typedef enum __rlimit_resource __rlimit_resource_t; >typedef enum __rusage_who __rusage_who_t; >typedef enum __priority_which __priority_which_t; ># 55 "/usr/include/sys/resource.h" 3 4 >extern int getrlimit (__rlimit_resource_t __resource, struct rlimit *__rlimits) __asm__ ("" "getrlimit64"); > > > > > > > >extern int getrlimit64 (__rlimit_resource_t __resource, > struct rlimit64 *__rlimits) ; ># 75 "/usr/include/sys/resource.h" 3 4 >extern int setrlimit (__rlimit_resource_t __resource, __const struct rlimit *__rlimits) __asm__ ("" "setrlimit64"); > > > > > > > >extern int setrlimit64 (__rlimit_resource_t __resource, > __const struct rlimit64 *__rlimits) ; > > > > >extern int getrusage (__rusage_who_t __who, struct rusage *__usage) ; > > > > > >extern int getpriority (__priority_which_t __which, id_t __who) ; > > > >extern int setpriority (__priority_which_t __which, id_t __who, int __prio) > ; > > ># 33 "general.h" 2 ># 42 "general.h" ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 1 3 4 ># 43 "general.h" 2 > > ># 1 "xmalloc.h" 1 ># 39 "xmalloc.h" >extern void * xmalloc (size_t) ; >extern void * xrealloc (void *, size_t) ; >extern void xfree (void *) ; ># 46 "general.h" 2 ># 115 "general.h" >typedef struct g_list { > struct g_list *next; >} GENERIC_LIST; > > > >typedef struct { > char *word; > int token; >} STRING_INT_ALIST; ># 176 "general.h" >typedef int Function (); >typedef void VFunction (); >typedef char *CPFunction (); >typedef char **CPPFunction (); ># 188 "general.h" >typedef int sh_intfunc_t (int) ; >typedef int sh_ivoidfunc_t (void) ; >typedef int sh_icpfunc_t (char *) ; >typedef int sh_icppfunc_t (char **) ; >typedef int sh_iptrfunc_t (void *) ; > >typedef void sh_voidfunc_t (void) ; >typedef void sh_vintfunc_t (int) ; >typedef void sh_vcpfunc_t (char *) ; >typedef void sh_vcppfunc_t (char **) ; >typedef void sh_vptrfunc_t (void *) ; > >typedef int sh_wdesc_func_t (WORD_DESC *) ; >typedef int sh_wlist_func_t (WORD_LIST *) ; > >typedef int sh_glist_func_t (GENERIC_LIST *) ; > >typedef char *sh_string_func_t (char *) ; > >typedef int sh_msg_func_t (const char *, ...) ; >typedef void sh_vmsg_func_t (const char *, ...) ; > > > >typedef void sh_sv_func_t (char *) ; >typedef void sh_free_func_t (void *) ; >typedef void sh_resetsig_func_t (int) ; > >typedef int sh_ignore_func_t (const char *) ; > >typedef int sh_assign_func_t (const char *) ; > >typedef int sh_builtin_func_t (WORD_LIST *) ; ># 239 "general.h" >typedef int QSFUNC (const void *, const void *); ># 269 "general.h" >extern void posix_initialize (int) ; > > >extern rlim_t string_to_rlimtype (char *) ; >extern void print_rlimtype (rlim_t, int) ; > > >extern int all_digits (char *) ; >extern int legal_number (char *, intmax_t *) ; >extern int legal_identifier (char *) ; >extern int check_identifier (WORD_DESC *, int) ; >extern int assignment (const char *) ; > >extern int sh_unset_nodelay_mode (int) ; >extern int sh_validfd (int) ; >extern void check_dev_tty (void) ; >extern int move_to_high_fd (int, int, int) ; >extern int check_binary_file (char *, int) ; > > > > > >extern char *make_absolute (char *, char *) ; >extern int absolute_pathname (const char *) ; >extern int absolute_program (const char *) ; >extern char *base_pathname (char *) ; >extern char *full_pathname (char *) ; >extern char *polite_directory_format (char *) ; > >extern char *extract_colon_unit (char *, int *) ; > >extern void tilde_initialize (void) ; >extern char *bash_tilde_expand (const char *, int) ; > >extern int group_member (gid_t) ; >extern char **get_group_list (int *) ; >extern int *get_group_array (int *) ; ># 30 "shell.h" 2 ># 1 "error.h" 1 ># 27 "error.h" >extern char *get_name_for_error (void) ; > > >extern void file_error (const char *) ; > > >extern void programming_error (const char *, ...) __attribute__((__format__ (printf, 1, 2))); > > >extern void report_error (const char *, ...) __attribute__((__format__ (printf, 1, 2))); > > >extern void parser_error (int, const char *, ...) __attribute__((__format__ (printf, 2, 3))); > > >extern void fatal_error (const char *, ...) __attribute__((__format__ (printf, 1, 2))); > > >extern void sys_error (const char *, ...) __attribute__((__format__ (printf, 1, 2))); > > >extern void internal_error (const char *, ...) __attribute__((__format__ (printf, 1, 2))); > > >extern void internal_warning (const char *, ...) __attribute__((__format__ (printf, 1, 2))); > > >extern void itrace (const char *, ...) __attribute__ ((__format__ (printf, 1, 2))); > > >extern void command_error (const char *, int, int, int) ; > >extern char *command_errstr (int) ; > > > > >extern void err_badarraysub (const char *) ; >extern void err_unboundvar (const char *) ; >extern void err_readonly (const char *) ; ># 31 "shell.h" 2 ># 1 "variables.h" 1 ># 25 "variables.h" ># 1 "array.h" 1 ># 27 "array.h" >typedef intmax_t arrayind_t; > >enum atype {array_indexed, array_assoc}; > >typedef struct array { > enum atype type; > arrayind_t max_index, num_elements; > struct array_element *head; >} ARRAY; > >typedef struct array_element { > arrayind_t ind; > char *value; > struct array_element *next, *prev; >} ARRAY_ELEMENT; > >typedef int sh_ae_map_func_t (ARRAY_ELEMENT *) ; > > >extern ARRAY *array_create (void) ; >extern void array_flush (ARRAY *) ; >extern void array_dispose (ARRAY *) ; >extern ARRAY *array_copy (ARRAY *) ; >extern ARRAY *array_slice (ARRAY *, ARRAY_ELEMENT *, ARRAY_ELEMENT *) ; >extern void array_walk (ARRAY *, sh_ae_map_func_t *) ; > >extern ARRAY_ELEMENT *array_shift (ARRAY *, int, int) ; >extern int array_rshift (ARRAY *, int, char *) ; >extern ARRAY *array_quote (ARRAY *) ; > >extern char *array_subrange (ARRAY *, arrayind_t, arrayind_t, int) ; >extern char *array_patsub (ARRAY *, char *, char *, int) ; > > >extern ARRAY_ELEMENT *array_create_element (arrayind_t, char *) ; >extern ARRAY_ELEMENT *array_copy_element (ARRAY_ELEMENT *) ; >extern void array_dispose_element (ARRAY_ELEMENT *) ; > >extern int array_insert (ARRAY *, arrayind_t, char *) ; >extern ARRAY_ELEMENT *array_remove (ARRAY *, arrayind_t) ; >extern char *array_reference (ARRAY *, arrayind_t) ; > > >extern WORD_LIST *array_to_word_list (ARRAY *) ; >extern ARRAY *array_from_word_list (WORD_LIST *) ; >extern ARRAY *array_assign_list (ARRAY *, WORD_LIST *) ; > >extern char **array_to_argv (ARRAY *) ; > >extern char *array_to_assign (ARRAY *, int) ; >extern char *array_to_string (ARRAY *, char *, int) ; >extern ARRAY *array_from_string (char *, char *) ; ># 26 "variables.h" 2 > > ># 1 "hashlib.h" 1 ># 34 "hashlib.h" >typedef struct bucket_contents { > struct bucket_contents *next; > char *key; > void * data; > unsigned int khash; > int times_found; >} BUCKET_CONTENTS; > >typedef struct hash_table { > BUCKET_CONTENTS **bucket_array; > int nbuckets; > int nentries; >} HASH_TABLE; > >typedef int hash_wfunc (BUCKET_CONTENTS *) ; > > >extern HASH_TABLE *hash_create (int) ; >extern HASH_TABLE *hash_copy (HASH_TABLE *, sh_string_func_t *) ; >extern void hash_flush (HASH_TABLE *, sh_free_func_t *) ; >extern void hash_dispose (HASH_TABLE *) ; >extern void hash_walk (HASH_TABLE *, hash_wfunc *) ; > > >extern int hash_bucket (const char *, HASH_TABLE *) ; >extern int hash_size (HASH_TABLE *) ; > > >extern BUCKET_CONTENTS *hash_search (const char *, HASH_TABLE *, int) ; >extern BUCKET_CONTENTS *hash_insert (char *, HASH_TABLE *, int) ; >extern BUCKET_CONTENTS *hash_remove (const char *, HASH_TABLE *, int) ; > > >extern unsigned int hash_string (const char *) ; ># 29 "variables.h" 2 > ># 1 "conftypes.h" 1 ># 31 "variables.h" 2 > > >typedef struct var_context { > char *name; > int scope; > int flags; > struct var_context *up; > struct var_context *down; > HASH_TABLE *table; >} VAR_CONTEXT; ># 63 "variables.h" >typedef struct variable *sh_var_value_func_t (struct variable *) ; >typedef struct variable *sh_var_assign_func_t (struct variable *, char *, arrayind_t) ; > > >union _value { > char *s; > intmax_t i; > COMMAND *f; > ARRAY *a; > HASH_TABLE *h; > double d; > void *v; >}; > >typedef struct variable { > char *name; > char *value; > char *exportstr; > sh_var_value_func_t *dynamic_value; > > > sh_var_assign_func_t *assign_func; > > > int attributes; > int context; >} SHELL_VAR; > >typedef struct _vlist { > SHELL_VAR **list; > int list_size; > int list_len; >} VARLIST; ># 193 "variables.h" >typedef int sh_var_map_func_t (SHELL_VAR *) ; > > >extern VAR_CONTEXT *global_variables; >extern VAR_CONTEXT *shell_variables; > >extern HASH_TABLE *shell_functions; >extern HASH_TABLE *temporary_env; > >extern int variable_context; >extern char *dollar_vars[]; >extern char **export_env; > >extern void initialize_shell_variables (char **, int) ; >extern SHELL_VAR *set_if_not (char *, char *) ; > >extern void sh_set_lines_and_columns (int, int) ; >extern void set_pwd (void) ; >extern void set_ppid (void) ; >extern void make_funcname_visible (int) ; > >extern SHELL_VAR *var_lookup (const char *, VAR_CONTEXT *) ; > >extern SHELL_VAR *find_function (const char *) ; >extern SHELL_VAR *find_variable (const char *) ; >extern SHELL_VAR *find_variable_internal (const char *, int) ; >extern SHELL_VAR *find_tempenv_variable (const char *) ; >extern SHELL_VAR *copy_variable (SHELL_VAR *) ; >extern SHELL_VAR *make_local_variable (const char *) ; >extern SHELL_VAR *bind_variable (const char *, char *) ; >extern SHELL_VAR *bind_function (const char *, COMMAND *) ; > >extern SHELL_VAR **map_over (sh_var_map_func_t *, VAR_CONTEXT *) ; >SHELL_VAR **map_over_funcs (sh_var_map_func_t *) ; > >extern SHELL_VAR **all_shell_variables (void) ; >extern SHELL_VAR **all_shell_functions (void) ; >extern SHELL_VAR **all_visible_variables (void) ; >extern SHELL_VAR **all_visible_functions (void) ; >extern SHELL_VAR **all_exported_variables (void) ; >extern SHELL_VAR **local_exported_variables (void) ; >extern SHELL_VAR **all_local_variables (void) ; > >extern SHELL_VAR **all_array_variables (void) ; > >extern char **all_variables_matching_prefix (const char *) ; > >extern char **make_var_array (HASH_TABLE *) ; >extern char **add_or_supercede_exported_var (char *, int) ; > >extern char *get_variable_value (SHELL_VAR *) ; >extern char *get_string_value (const char *) ; >extern char *sh_get_env_value (const char *) ; >extern char *make_variable_value (SHELL_VAR *, char *) ; > >extern SHELL_VAR *bind_variable_value (SHELL_VAR *, char *) ; >extern SHELL_VAR *bind_int_variable (char *, char *) ; >extern SHELL_VAR *bind_var_to_int (char *, intmax_t) ; > >extern int assign_in_env (const char *) ; >extern int unbind_variable (const char *) ; >extern int unbind_func (const char *) ; >extern int makunbound (const char *, VAR_CONTEXT *) ; >extern int kill_local_variable (const char *) ; >extern void delete_all_variables (HASH_TABLE *) ; >extern void delete_all_contexts (VAR_CONTEXT *) ; > >extern VAR_CONTEXT *new_var_context (char *, int) ; >extern void dispose_var_context (VAR_CONTEXT *) ; >extern VAR_CONTEXT *push_var_context (char *, int, HASH_TABLE *) ; >extern void pop_var_context (void) ; >extern VAR_CONTEXT *push_scope (int, HASH_TABLE *) ; >extern void pop_scope (int) ; > >extern void push_context (char *, int, HASH_TABLE *) ; >extern void pop_context (void) ; >extern void push_dollar_vars (void) ; >extern void pop_dollar_vars (void) ; >extern void dispose_saved_dollar_vars (void) ; > >extern void adjust_shell_level (int) ; >extern void non_unsettable (char *) ; >extern void dispose_variable (SHELL_VAR *) ; >extern void dispose_used_env_vars (void) ; >extern void dispose_function_env (void) ; >extern void dispose_builtin_env (void) ; >extern void merge_temporary_env (void) ; >extern void merge_builtin_env (void) ; >extern void kill_all_local_variables (void) ; > >extern void set_var_read_only (char *) ; >extern void set_func_read_only (const char *) ; >extern void set_var_auto_export (char *) ; >extern void set_func_auto_export (const char *) ; > >extern void sort_variables (SHELL_VAR **) ; > >extern void maybe_make_export_env (void) ; >extern void update_export_env_inplace (char *, int, char *) ; >extern void put_command_name_into_env (char *) ; >extern void put_gnu_argv_flags_into_env (intmax_t, char *) ; > >extern void print_var_list (SHELL_VAR **) ; >extern void print_func_list (SHELL_VAR **) ; >extern void print_assignment (SHELL_VAR *) ; >extern void print_var_value (SHELL_VAR *, int) ; >extern void print_var_function (SHELL_VAR *) ; > > >extern SHELL_VAR *make_new_array_variable (char *) ; >extern SHELL_VAR *make_local_array_variable (char *) ; > >extern void set_pipestatus_array (int *, int) ; > > >extern void set_pipestatus_from_exit (int) ; > > > >extern void stupidly_hack_special_variables (char *) ; > >extern int get_random_number (void) ; > > > >extern void sv_ifs (char *) ; >extern void sv_path (char *) ; >extern void sv_mail (char *) ; >extern void sv_globignore (char *) ; >extern void sv_ignoreeof (char *) ; >extern void sv_strict_posix (char *) ; >extern void sv_optind (char *) ; >extern void sv_opterr (char *) ; >extern void sv_locale (char *) ; > > >extern void sv_terminal (char *) ; >extern void sv_hostfile (char *) ; > > > >extern void sv_tz (char *) ; > > > >extern void sv_histsize (char *) ; >extern void sv_histignore (char *) ; >extern void sv_history_control (char *) ; > >extern void sv_histchars (char *) ; ># 32 "shell.h" 2 ># 1 "arrayfunc.h" 1 ># 28 "arrayfunc.h" >extern SHELL_VAR *convert_var_to_array (SHELL_VAR *) ; > >extern SHELL_VAR *bind_array_variable (char *, arrayind_t, char *) ; >extern SHELL_VAR *assign_array_element (char *, char *) ; > >extern SHELL_VAR *find_or_make_array_variable (char *, int) ; > >extern SHELL_VAR *assign_array_from_string (char *, char *) ; >extern SHELL_VAR *assign_array_var_from_word_list (SHELL_VAR *, WORD_LIST *) ; >extern SHELL_VAR *assign_array_var_from_string (SHELL_VAR *, char *) ; > >extern int unbind_array_element (SHELL_VAR *, char *) ; >extern int skipsubscript (const char *, int) ; >extern void print_array_assignment (SHELL_VAR *, int) ; > >extern arrayind_t array_expand_index (char *, int) ; >extern int valid_array_reference (char *) ; >extern char *array_value (char *, int, int *) ; >extern char *get_array_value (char *, int, int *) ; > >extern char *array_variable_name (char *, char **, int *) ; >extern SHELL_VAR *array_variable_part (char *, char **, int *) ; ># 33 "shell.h" 2 ># 1 "quit.h" 1 ># 25 "quit.h" >extern int interrupt_state; ># 34 "shell.h" 2 ># 1 "./include/maxpath.h" 1 ># 27 "./include/maxpath.h" ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 1 3 4 ># 28 "./include/maxpath.h" 2 ># 35 "shell.h" 2 ># 1 "unwind_prot.h" 1 ># 25 "unwind_prot.h" >extern void begin_unwind_frame (char *) ; >extern void discard_unwind_frame (char *) ; >extern void run_unwind_frame (char *) ; >extern void add_unwind_protect (); >extern void remove_unwind_protect (void) ; >extern void run_unwind_protects (void) ; >extern void clear_unwind_protect_list (int) ; >extern void uwp_init (void) ; > > > > > > >extern void unwind_protect_mem (char *, int) ; ># 36 "shell.h" 2 ># 1 "dispose_cmd.h" 1 ># 26 "dispose_cmd.h" >extern void dispose_command (COMMAND *) ; >extern void dispose_word (WORD_DESC *) ; >extern void dispose_words (WORD_LIST *) ; >extern void dispose_word_array (char **) ; >extern void dispose_redirects (REDIRECT *) ; > > >extern void dispose_cond_node (COND_COM *) ; ># 37 "shell.h" 2 ># 1 "make_cmd.h" 1 ># 26 "make_cmd.h" >extern void cmd_init (void) ; > >extern WORD_DESC *make_bare_word (const char *) ; >extern WORD_DESC *make_word_flags (WORD_DESC *, const char *) ; >extern WORD_DESC *make_word (const char *) ; >extern WORD_DESC *make_word_from_token (int) ; > >extern WORD_LIST *make_word_list (WORD_DESC *, WORD_LIST *) ; > > > >extern COMMAND *make_command (enum command_type, SIMPLE_COM *) ; >extern COMMAND *command_connect (COMMAND *, COMMAND *, int) ; >extern COMMAND *make_for_command (WORD_DESC *, WORD_LIST *, COMMAND *) ; >extern COMMAND *make_group_command (COMMAND *) ; >extern COMMAND *make_case_command (WORD_DESC *, PATTERN_LIST *) ; >extern PATTERN_LIST *make_pattern_list (WORD_LIST *, COMMAND *) ; >extern COMMAND *make_if_command (COMMAND *, COMMAND *, COMMAND *) ; >extern COMMAND *make_while_command (COMMAND *, COMMAND *) ; >extern COMMAND *make_until_command (COMMAND *, COMMAND *) ; >extern COMMAND *make_bare_simple_command (void) ; >extern COMMAND *make_simple_command (ELEMENT, COMMAND *) ; >extern void make_here_document (REDIRECT *) ; >extern REDIRECT *make_redirection (int, enum r_instruction, REDIRECTEE) ; >extern COMMAND *make_function_def (WORD_DESC *, COMMAND *, int, int) ; >extern COMMAND *clean_simple_command (COMMAND *) ; > >extern COMMAND *make_arith_command (WORD_LIST *) ; > >extern COMMAND *make_select_command (WORD_DESC *, WORD_LIST *, COMMAND *) ; > > >extern COND_COM *make_cond_node (int, WORD_DESC *, COND_COM *, COND_COM *) ; >extern COMMAND *make_cond_command (COND_COM *) ; > > >extern COMMAND *make_arith_for_command (WORD_LIST *, COMMAND *, int) ; > >extern COMMAND *make_subshell_command (COMMAND *) ; > >extern COMMAND *connect_async_list (COMMAND *, COMMAND *, int) ; ># 38 "shell.h" 2 ># 1 "./include/ocache.h" 1 ># 55 "./include/ocache.h" >typedef struct objcache { > void * data; > int cs; > int nc; >} sh_obj_cache_t; ># 39 "shell.h" 2 ># 1 "subst.h" 1 ># 44 "subst.h" >extern char * de_backslash (char *) ; > > >extern void unquote_bang (char *) ; > > > > >extern char *extract_command_subst (char *, int *) ; > > > > >extern char *extract_arithmetic_subst (char *, int *) ; > > > > > >extern char *extract_process_subst (char *, char *, int *) ; > > > >extern char *assignment_name (char *) ; > > > >extern char *string_list_internal (WORD_LIST *, char *) ; > > > >extern char *string_list (WORD_LIST *) ; > > >extern char *string_list_dollar_star (WORD_LIST *) ; > > >extern char *string_list_dollar_at (WORD_LIST *, int) ; > > > >extern void word_list_remove_quoted_nulls (WORD_LIST *) ; > > > >extern WORD_LIST *list_string (char *, char *, int) ; > >extern char *get_word_from_string (char **, char *, char **) ; >extern char *strip_trailing_ifs_whitespace (char *, char *, int) ; > > > > > > >extern int do_assignment (const char *) ; >extern int do_assignment_no_expand (const char *) ; > > > > > >extern char *sub_append_string (char *, char *, int *, int *) ; > > > >extern char *sub_append_number (intmax_t, char *, int *, int *) ; > > >extern WORD_LIST *list_rest_of_args (void) ; > > > > >extern char *string_rest_of_args (int) ; > >extern int number_of_args (void) ; > > > > > > >extern WORD_LIST *expand_string_unsplit (char *, int) ; > > >extern WORD_LIST *expand_prompt_string (char *, int) ; > > > > > > >extern WORD_LIST *expand_string (char *, int) ; > > > > >extern char *expand_string_to_string (char *, int) ; >extern char *expand_string_unsplit_to_string (char *, int) ; > > >extern char *dequote_string (char *) ; > > > > >extern WORD_LIST *expand_word (WORD_DESC *, int) ; > > > > >extern WORD_LIST *expand_word_unsplit (WORD_DESC *, int) ; >extern WORD_LIST *expand_word_leave_quoted (WORD_DESC *, int) ; > > >extern char *get_dollar_var_value (intmax_t) ; > > >extern char *quote_string (char *) ; > > > >extern char *quote_escapes (char *) ; > > > >extern char *string_quote_removal (char *, int) ; > > > >extern WORD_DESC *word_quote_removal (WORD_DESC *, int) ; > > > > >extern WORD_LIST *word_list_quote_removal (WORD_LIST *, int) ; > > >extern void setifs (SHELL_VAR *) ; > > >extern char *getifs (void) ; > > > > >extern WORD_LIST *word_split (WORD_DESC *, char *) ; > > > > >extern WORD_LIST *expand_words (WORD_LIST *) ; > > > >extern WORD_LIST *expand_words_no_vars (WORD_LIST *) ; > > > > >extern WORD_LIST *expand_words_shellexp (WORD_LIST *) ; > >extern char *command_substitute (char *, int) ; >extern char *pat_subst (char *, char *, char *, int) ; > >extern void unlink_fifo_list (void) ; > >extern WORD_LIST *list_string_with_quotes (char *) ; > > >extern char *extract_array_assignment_list (char *, int *) ; > > > >extern char *remove_backslashes (char *) ; >extern char *cond_expand_word (WORD_DESC *, int) ; > > > >extern int char_is_quoted (char *, int) ; >extern int unclosed_pair (char *, int, char *) ; >extern int skip_to_delim (char *, int, char *) ; >extern WORD_LIST *split_at_delims (char *, int, char *, int, int *, int *) ; > > > >extern SHELL_VAR *ifs_var; >extern char *ifs_value; >extern unsigned char ifs_cmap[]; >extern unsigned char ifs_firstc; ># 40 "shell.h" 2 ># 1 "sig.h" 1 ># 33 "sig.h" >typedef void SigHandler (int) ; ># 47 "sig.h" >extern SigHandler *set_signal_handler (int, SigHandler *) ; ># 112 "sig.h" >extern void termination_unwind_protect (int) ; >extern void sigint_sighandler (int) ; >extern void initialize_signals (int) ; >extern void initialize_terminating_signals (void) ; >extern void reset_terminating_signals (void) ; >extern void throw_to_top_level (void) ; >extern void jump_to_top_level (int) __attribute__((__noreturn__)); > > >extern SigHandler *set_sigint_handler (void) ; >extern SigHandler *trap_to_sighandler (int) ; >extern void trap_handler (int) ; ># 41 "shell.h" 2 ># 1 "pathnames.h" 1 ># 42 "shell.h" 2 ># 1 "externs.h" 1 ># 30 "externs.h" >extern intmax_t evalexp (char *, int *) ; > > >extern char *make_command_string (COMMAND *) ; >extern void print_command (COMMAND *) ; >extern void print_simple_command (SIMPLE_COM *) ; >extern char *named_function_string (char *, COMMAND *, int) ; >extern void print_word_list (WORD_LIST *, char *) ; >extern char *indirection_level_string (void) ; >extern void xtrace_print_word_list (WORD_LIST *) ; > >extern void xtrace_print_arith_cmd (WORD_LIST *) ; > > >extern void xtrace_print_cond_term (int, int, WORD_DESC *, char *, char *) ; > > > >extern void exit_shell (int) __attribute__((__noreturn__)); >extern void sh_exit (int) __attribute__((__noreturn__)); >extern void disable_priv_mode (void) ; >extern void unbind_args (void) ; > > >extern int shell_is_restricted (char *) ; >extern int maybe_make_restricted (char *) ; > > >extern void unset_bash_input (int) ; >extern void get_current_user_info (void) ; > > >extern int reader_loop (void) ; >extern int parse_command (void) ; >extern int read_command (void) ; > > > >extern char **brace_expand (char *) ; > > > >extern int yyparse (void) ; >extern int return_EOF (void) ; >extern void reset_parser (void) ; >extern WORD_LIST *parse_string_to_word_list (char *, const char *) ; > >extern char *decode_prompt_string (char *) ; > >extern int get_current_prompt_level (void) ; >extern void set_current_prompt_level (int) ; > > >extern char *history_delimiting_chars (void) ; > > > >extern void set_default_locale (void) ; >extern void set_default_locale_vars (void) ; >extern int set_locale_var (char *, char *) ; >extern int set_lang (char *, char *) ; >extern char *get_locale_var (char *) ; >extern char *localetrans (char *, int, int *) ; >extern char *mk_msgstr (char *, int *) ; >extern char *localeexpand (char *, int, int, int, int *) ; > > >extern void list_walk (GENERIC_LIST *, sh_glist_func_t *) ; >extern void wlist_walk (WORD_LIST *, sh_icpfunc_t *) ; >extern GENERIC_LIST *list_reverse (); >extern int list_length (); >extern GENERIC_LIST *list_append (); >extern GENERIC_LIST *list_remove (); > > >extern int find_string_in_alist (char *, STRING_INT_ALIST *, int) ; >extern char *find_token_in_alist (int, STRING_INT_ALIST *, int) ; >extern int find_index_in_alist (char *, STRING_INT_ALIST *, int) ; > >extern char *substring (char *, int, int) ; >extern char *strsub (char *, char *, char *, int) ; >extern char *strcreplace (char *, int, char *, int) ; >extern void strip_leading (char *) ; >extern void strip_trailing (char *, int, int) ; >extern void xbcopy (char *, char *, int) ; > > > > > >extern long get_clk_tck (void) ; > > >extern void clock_t_to_secs (); >extern void print_clock_t (); > > > > > > > >extern char *fmtulong (unsigned long int, int, char *, size_t, int) ; > > > >extern char *fmtullong (unsigned long long int, int, char *, size_t, int) ; > > > >extern char *fmtumax (uintmax_t, int, char *, size_t, int) ; > > > > > > > >extern char *inttostr (intmax_t, char *, size_t) ; >extern char *itos (intmax_t) ; >extern char *uinttostr (uintmax_t, char *, size_t) ; >extern char *uitos (uintmax_t) ; > > > > > > >extern char *sh_makepath (const char *, const char *, int) ; > > >extern int isnetconn (int) ; > > >extern int netopen (char *) ; ># 180 "externs.h" >extern int getmaxgroups (void) ; >extern long getmaxchild (void) ; > > > > > > > >extern char *sh_canonpath (char *, int) ; > > >extern char *sh_physpath (char *, int) ; >extern char *sh_realpath (const char *, char *) ; > > > > > > > >extern char *sh_single_quote (char *) ; >extern char *sh_double_quote (char *) ; >extern char *sh_un_double_quote (char *) ; >extern char *sh_backslash_quote (char *) ; >extern char *sh_backslash_quote_for_double_quotes (char *) ; >extern int sh_contains_shell_metas (char *) ; > > >extern int spname (char *, char *) ; ># 219 "externs.h" >extern char *strerror (int) ; ># 228 "externs.h" >extern char *strindex (const char *, const char *) ; > > > > >typedef struct _list_of_strings { > char **list; > int list_size; > int list_len; >} STRINGLIST; > >typedef int sh_strlist_map_func_t (char *) ; > >extern STRINGLIST *strlist_create (int) ; >extern STRINGLIST *strlist_resize (STRINGLIST *, int) ; >extern void strlist_flush (STRINGLIST *) ; >extern void strlist_dispose (STRINGLIST *) ; >extern int strlist_remove (STRINGLIST *, char *) ; >extern STRINGLIST *strlist_copy (STRINGLIST *) ; >extern STRINGLIST *strlist_merge (STRINGLIST *, STRINGLIST *) ; >extern STRINGLIST *strlist_append (STRINGLIST *, STRINGLIST *) ; >extern STRINGLIST *strlist_prefix_suffix (STRINGLIST *, char *, char *) ; >extern void strlist_print (STRINGLIST *, char *) ; >extern void strlist_walk (STRINGLIST *, sh_strlist_map_func_t *) ; >extern void strlist_sort (STRINGLIST *) ; > > > >extern char **strvec_create (int) ; >extern char **strvec_resize (char **, int) ; >extern void strvec_flush (char **) ; >extern void strvec_dispose (char **) ; >extern int strvec_remove (char **, char *) ; >extern int strvec_len (char **) ; >extern int strvec_search (char **, char *) ; >extern char **strvec_copy (char **) ; >extern int strvec_strcmp (char **, char **) ; >extern void strvec_sort (char **) ; > >extern char **strvec_from_word_list (WORD_LIST *, int, int, int *) ; >extern WORD_LIST *strvec_to_word_list (char **, int, int) ; ># 306 "externs.h" >extern char *ansicstr (char *, int, int, int *, int *) ; >extern char *ansic_quote (char *, int, int *) ; >extern int ansic_shouldquote (const char *) ; >extern char *ansiexpand (char *, int, int, int *) ; > > > > >extern void timeval_to_secs (); >extern void print_timeval (); > > > > > > >extern char *sh_mktmpname (char *, int) ; >extern int sh_mktmpfd (char *, int, char **) ; > > > > >extern char *xstrchr (const char *, int) ; > > >extern ssize_t zread (int, char *, size_t) ; >extern ssize_t zreadintr (int, char *, size_t) ; >extern ssize_t zreadc (int, char *) ; >extern void zreset (void) ; >extern void zsyncfd (int) ; > > >extern int zwrite (int, char *, size_t) ; ># 43 "shell.h" 2 ># 1 "version.h" 1 ># 17 "version.h" >extern char *shell_version_string (void) ; >extern void show_shell_version (int) ; ># 44 "shell.h" 2 > >extern int EOF_Reached; ># 84 "shell.h" >extern char **shell_environment; >extern WORD_LIST *rest_of_args; > > >extern int executing, login_shell; >extern int interactive, interactive_shell; >extern int startup_state; > > > >struct fd_bitmap { > int size; > char *bitmap; >}; > > > > > > > >struct user_info { > uid_t uid, euid; > gid_t gid, egid; > char *user_name; > char *shell; > char *home_dir; >}; > >extern struct user_info current_user; ># 46 "./parse.y" 2 ># 1 "trap.h" 1 ># 53 "trap.h" >extern char *trap_list[]; > > >extern void initialize_traps (void) ; >extern void run_pending_traps (void) ; >extern void maybe_set_sigchld_trap (char *) ; >extern void set_sigchld_trap (char *) ; >extern void set_debug_trap (char *) ; >extern void set_error_trap (char *) ; >extern void set_sigint_trap (char *) ; >extern void set_signal (int, char *) ; >extern void restore_default_signal (int) ; >extern void ignore_signal (int) ; >extern int run_exit_trap (void) ; >extern void run_trap_cleanup (int) ; >extern void run_debug_trap (void) ; >extern void run_error_trap (void) ; >extern void free_trap_strings (void) ; >extern void reset_signal_handlers (void) ; >extern void restore_original_signals (void) ; > >extern char *signal_name (int) ; > >extern int decode_signal (char *) ; >extern void run_interrupt_trap (void) ; >extern int maybe_call_trap_handler (int) ; >extern int signal_is_trapped (int) ; >extern int signal_is_ignored (int) ; >extern int signal_is_special (int) ; >extern void set_signal_ignored (int) ; ># 47 "./parse.y" 2 ># 1 "flags.h" 1 ># 35 "flags.h" >struct flags_alist { > char name; > int *value; >}; > >extern struct flags_alist shell_flags[]; >extern char optflags[]; > >extern int > mark_modified_vars, exit_immediately_on_error, disallow_filename_globbing, > place_keywords_in_env, read_but_dont_execute, > just_one_command, unbound_vars_is_error, echo_input_at_read, > echo_command_at_execute, no_invisible_vars, noclobber, > hashing_enabled, forced_interactive, privileged_mode, > asynchronous_notification, interactive_comments, no_symbolic_links; > > > > > > >extern int brace_expansion; > > > >extern int history_expansion; > > > >extern int restricted; >extern int restricted_shell; > > >extern int *find_flag (int) ; >extern int change_flag (int, int) ; >extern char *which_set_flags (void) ; >extern void reset_shell_flags (void) ; > >extern void initialize_flags (void) ; ># 48 "./parse.y" 2 ># 1 "parser.h" 1 ># 26 "parser.h" ># 1 "input.h" 1 ># 34 "input.h" >typedef int sh_cget_func_t (void) ; >typedef int sh_cunget_func_t (int) ; > >enum stream_type {st_none, st_stdin, st_stream, st_string, st_bstream}; ># 53 "input.h" >typedef struct BSTREAM >{ > int b_fd; > char *b_buffer; > size_t b_size; > size_t b_used; > int b_flag; > size_t b_inputp; >} BUFFERED_STREAM; > > > > > >extern int default_buffered_input; > > > >typedef union { > FILE *file; > char *string; > > int buffered_fd; > >} INPUT_STREAM; > >typedef struct { > enum stream_type type; > char *name; > INPUT_STREAM location; > sh_cget_func_t *getter; > sh_cunget_func_t *ungetter; >} BASH_INPUT; > >extern BASH_INPUT bash_input; > > > >extern void initialize_bash_input (void) ; >extern void init_yy_io (sh_cget_func_t *, sh_cunget_func_t *, enum stream_type, const char *, INPUT_STREAM) ; >extern char *yy_input_name (void) ; >extern void with_input_from_stdin (void) ; >extern void with_input_from_string (char *, const char *) ; >extern void with_input_from_stream (FILE *, const char *) ; >extern void push_stream (int) ; >extern void pop_stream (void) ; >extern int stream_on_stack (enum stream_type) ; >extern char *read_secondary_line (int) ; >extern int find_reserved_word (char *) ; >extern void gather_here_documents (void) ; >extern void execute_prompt_command (char *) ; > >extern int *save_token_state (void) ; >extern void restore_token_state (int *) ; > > >extern int getc_with_restart (FILE *) ; >extern int ungetc_with_restart (int, FILE *) ; > > > >extern int fd_is_bash_input (int) ; >extern int set_bash_input_fd (int) ; >extern int save_bash_input (int, int) ; >extern int check_bash_input (int) ; >extern int duplicate_buffered_stream (int, int) ; >extern BUFFERED_STREAM *fd_to_buffered_stream (int) ; >extern BUFFERED_STREAM *set_buffered_stream (int, BUFFERED_STREAM *) ; >extern BUFFERED_STREAM *open_buffered_stream (char *) ; >extern void free_buffered_stream (BUFFERED_STREAM *) ; >extern int close_buffered_stream (BUFFERED_STREAM *) ; >extern int close_buffered_fd (int) ; >extern int sync_buffered_stream (int) ; >extern int buffered_getchar (void) ; >extern int buffered_ungetchar (int) ; >extern void with_input_from_buffered_stream (int, char *) ; ># 27 "parser.h" 2 > > >struct dstack { > > > char *delimiters; > > > int delimiter_depth; > > > int delimiter_space; >}; ># 49 "./parse.y" 2 ># 1 "mailcheck.h" 1 ># 25 "mailcheck.h" >extern int time_to_check_mail (void) ; >extern void reset_mail_timer (void) ; >extern void reset_mail_files (void) ; >extern void free_mail_files (void) ; >extern char *make_default_mailpath (void) ; >extern void remember_mail_dates (void) ; >extern void check_mail (void) ; ># 50 "./parse.y" 2 ># 1 "test.h" 1 ># 30 "test.h" >extern int test_eaccess (char *, int) ; > >extern int test_unop (char *) ; >extern int test_binop (char *) ; > >extern int unary_test (char *, char *) ; >extern int binary_test (char *, char *, char *, int) ; > >extern int test_command (int, char **) ; ># 51 "./parse.y" 2 ># 1 "builtins/common.h" 1 ># 24 "builtins/common.h" ># 1 "./include/stdc.h" 1 ># 25 "builtins/common.h" 2 ># 57 "builtins/common.h" >extern void builtin_error (const char *, ...) __attribute__((__format__ (printf, 1, 2))); >extern void builtin_usage (void) ; >extern void no_args (WORD_LIST *) ; >extern int no_options (WORD_LIST *) ; > > >extern void sh_needarg (char *) ; >extern void sh_neednumarg (char *) ; >extern void sh_notfound (char *) ; >extern void sh_invalidopt (char *) ; >extern void sh_invalidoptname (char *) ; >extern void sh_invalidid (char *) ; >extern void sh_invalidnum (char *) ; >extern void sh_invalidsig (char *) ; >extern void sh_erange (char *, char *) ; >extern void sh_badpid (char *) ; >extern void sh_badjob (char *) ; >extern void sh_readonly (const char *) ; >extern void sh_nojobs (char *) ; >extern void sh_restricted (char *) ; > >extern char **make_builtin_argv (WORD_LIST *, int *) ; >extern void remember_args (WORD_LIST *, int) ; > >extern int dollar_vars_changed (void) ; >extern void set_dollar_vars_unchanged (void) ; >extern void set_dollar_vars_changed (void) ; > >extern intmax_t get_numeric_arg (WORD_LIST *, int) ; >extern int get_exitstat (WORD_LIST *) ; >extern int read_octal (char *) ; > > >extern char *the_current_working_directory; >extern char *get_working_directory (char *) ; >extern void set_working_directory (char *) ; > > >extern int get_job_by_name (const char *, int) ; >extern int get_job_spec (WORD_LIST *) ; > >extern int display_signal_list (WORD_LIST *, int) ; > > > >extern struct builtin *builtin_address_internal (char *, int) ; >extern sh_builtin_func_t *find_shell_builtin (char *) ; >extern sh_builtin_func_t *builtin_address (char *) ; >extern sh_builtin_func_t *find_special_builtin (char *) ; >extern void initialize_shell_builtins (void) ; > > >extern void getopts_reset (int) ; > > >extern int minus_o_option_value (char *) ; >extern void list_minus_o_opts (int, int) ; >extern char **get_minus_o_opts (void) ; >extern int set_minus_o_option (int, char *) ; > >extern void set_shellopts (void) ; >extern void parse_shellopts (char *) ; >extern void initialize_shell_options (int) ; > >extern void reset_shell_options (void) ; > > >extern void reset_shopt_options (void) ; >extern char **get_shopt_options (void) ; > >extern int shopt_setopt (char *, int) ; >extern int shopt_listopt (char *, int) ; > >extern int set_login_shell (int) ; > > >extern int describe_command (char *, int) ; > > >extern int set_or_show_attributes (WORD_LIST *, int, int) ; >extern int show_var_attributes (SHELL_VAR *, int, int) ; >extern int show_name_attributes (char *, int) ; >extern void set_var_attribute (char *, int, int) ; > > >extern char *get_dirstack_from_string (char *) ; >extern char *get_dirstack_element (intmax_t, int) ; >extern void set_dirstack_element (intmax_t, int, char *) ; >extern WORD_LIST *get_directory_stack (void) ; > > >extern int parse_and_execute (char *, const char *, int) ; >extern void parse_and_execute_cleanup (void) ; > > >extern int maybe_execute_file (const char *, int) ; >extern int source_file (const char *) ; >extern int fc_execute_file (const char *) ; ># 52 "./parse.y" 2 ># 1 "builtins/builtext.h" 1 > > >extern int alias_builtin (WORD_LIST *) ; >extern char * const alias_doc[]; > > >extern int unalias_builtin (WORD_LIST *) ; >extern char * const unalias_doc[]; > > >extern int bind_builtin (WORD_LIST *) ; >extern char * const bind_doc[]; > >extern int break_builtin (WORD_LIST *) ; >extern char * const break_doc[]; >extern int continue_builtin (WORD_LIST *) ; >extern char * const continue_doc[]; >extern int builtin_builtin (WORD_LIST *) ; >extern char * const builtin_doc[]; >extern int cd_builtin (WORD_LIST *) ; >extern char * const cd_doc[]; >extern int pwd_builtin (WORD_LIST *) ; >extern char * const pwd_doc[]; >extern int colon_builtin (WORD_LIST *) ; >extern char * const colon_doc[]; >extern int colon_builtin (WORD_LIST *) ; >extern char * const true_doc[]; >extern int false_builtin (WORD_LIST *) ; >extern char * const false_doc[]; >extern int command_builtin (WORD_LIST *) ; >extern char * const command_doc[]; >extern int declare_builtin (WORD_LIST *) ; >extern char * const declare_doc[]; >extern int declare_builtin (WORD_LIST *) ; >extern char * const typeset_doc[]; >extern int local_builtin (WORD_LIST *) ; >extern char * const local_doc[]; > >extern int echo_builtin (WORD_LIST *) ; >extern char * const echo_doc[]; > > > > > >extern int enable_builtin (WORD_LIST *) ; >extern char * const enable_doc[]; >extern int eval_builtin (WORD_LIST *) ; >extern char * const eval_doc[]; >extern int getopts_builtin (WORD_LIST *) ; >extern char * const getopts_doc[]; >extern int exec_builtin (WORD_LIST *) ; >extern char * const exec_doc[]; >extern int exit_builtin (WORD_LIST *) ; >extern char * const exit_doc[]; >extern int logout_builtin (WORD_LIST *) ; >extern char * const logout_doc[]; > >extern int fc_builtin (WORD_LIST *) ; >extern char * const fc_doc[]; > > >extern int fg_builtin (WORD_LIST *) ; >extern char * const fg_doc[]; > > >extern int bg_builtin (WORD_LIST *) ; >extern char * const bg_doc[]; > >extern int hash_builtin (WORD_LIST *) ; >extern char * const hash_doc[]; > >extern int help_builtin (WORD_LIST *) ; >extern char * const help_doc[]; > > >extern int history_builtin (WORD_LIST *) ; >extern char * const history_doc[]; > > >extern int jobs_builtin (WORD_LIST *) ; >extern char * const jobs_doc[]; > > >extern int disown_builtin (WORD_LIST *) ; >extern char * const disown_doc[]; > > >extern int kill_builtin (WORD_LIST *) ; >extern char * const kill_doc[]; > >extern int let_builtin (WORD_LIST *) ; >extern char * const let_doc[]; >extern int read_builtin (WORD_LIST *) ; >extern char * const read_doc[]; >extern int return_builtin (WORD_LIST *) ; >extern char * const return_doc[]; >extern int set_builtin (WORD_LIST *) ; >extern char * const set_doc[]; >extern int unset_builtin (WORD_LIST *) ; >extern char * const unset_doc[]; >extern int export_builtin (WORD_LIST *) ; >extern char * const export_doc[]; >extern int readonly_builtin (WORD_LIST *) ; >extern char * const readonly_doc[]; >extern int shift_builtin (WORD_LIST *) ; >extern char * const shift_doc[]; >extern int source_builtin (WORD_LIST *) ; >extern char * const source_doc[]; >extern int source_builtin (WORD_LIST *) ; >extern char * const dot_doc[]; > >extern int suspend_builtin (WORD_LIST *) ; >extern char * const suspend_doc[]; > >extern int test_builtin (WORD_LIST *) ; >extern char * const test_doc[]; >extern int test_builtin (WORD_LIST *) ; >extern char * const test_bracket_doc[]; >extern int times_builtin (WORD_LIST *) ; >extern char * const times_doc[]; >extern int trap_builtin (WORD_LIST *) ; >extern char * const trap_doc[]; >extern int type_builtin (WORD_LIST *) ; >extern char * const type_doc[]; > >extern int ulimit_builtin (WORD_LIST *) ; >extern char * const ulimit_doc[]; > >extern int umask_builtin (WORD_LIST *) ; >extern char * const umask_doc[]; > >extern int wait_builtin (WORD_LIST *) ; >extern char * const wait_doc[]; > > > > > >extern char * const for_doc[]; >extern char * const arith_for_doc[]; >extern char * const select_doc[]; >extern char * const time_doc[]; >extern char * const case_doc[]; >extern char * const if_doc[]; >extern char * const while_doc[]; >extern char * const until_doc[]; >extern char * const function_doc[]; >extern char * const grouping_braces_doc[]; >extern char * const fg_percent_doc[]; >extern char * const arith_doc[]; >extern char * const conditional_doc[]; >extern char * const variable_help_doc[]; > >extern int pushd_builtin (WORD_LIST *) ; >extern char * const pushd_doc[]; > > >extern int popd_builtin (WORD_LIST *) ; >extern char * const popd_doc[]; > > >extern int dirs_builtin (WORD_LIST *) ; >extern char * const dirs_doc[]; > >extern int shopt_builtin (WORD_LIST *) ; >extern char * const shopt_doc[]; >extern int printf_builtin (WORD_LIST *) ; >extern char * const printf_doc[]; > >extern int complete_builtin (WORD_LIST *) ; >extern char * const complete_doc[]; > > >extern int compgen_builtin (WORD_LIST *) ; >extern char * const compgen_doc[]; ># 53 "./parse.y" 2 > ># 1 "./include/shmbutil.h" 1 ># 24 "./include/shmbutil.h" ># 1 "./include/stdc.h" 1 ># 25 "./include/shmbutil.h" 2 ># 54 "./include/shmbutil.h" ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 1 3 4 ># 55 "./include/shmbutil.h" 2 ># 69 "./include/shmbutil.h" >extern size_t xmbsrtowcs (wchar_t *, const char **, size_t, mbstate_t *) ; > >extern char *xstrchr (const char *, int) ; ># 55 "./parse.y" 2 > > ># 1 "bashline.h" 1 ># 26 "bashline.h" >extern int bash_readline_initialized; > >extern void posix_readline_initialize (int) ; >extern int enable_hostname_completion (int) ; >extern void initialize_readline (void) ; >extern void bashline_reinitialize (void) ; >extern int bash_re_edit (char *) ; > >extern int bind_keyseq_to_unix_command (char *) ; > > >extern char *command_word_completion_function (const char *, int) ; >extern char *bash_groupname_completion_function (const char *, int) ; >extern char *bash_servicename_completion_function (const char *, int) ; > >extern char **get_hostname_list (void) ; >extern void clear_hostname_list (void) ; > >extern char **bash_directory_completion_matches (const char *) ; ># 58 "./parse.y" 2 ># 1 "./lib/readline/readline.h" 1 ># 36 "./lib/readline/readline.h" ># 1 "./lib/readline/rlstdc.h" 1 ># 37 "./lib/readline/readline.h" 2 ># 1 "./lib/readline/rltypedefs.h" 1 ># 48 "./lib/readline/rltypedefs.h" >typedef int rl_command_func_t (int, int); > > >typedef char *rl_compentry_func_t (const char *, int); >typedef char **rl_completion_func_t (const char *, int, int); > >typedef char *rl_quote_func_t (char *, int, char *); >typedef char *rl_dequote_func_t (char *, int); > >typedef int rl_compignore_func_t (char **); > >typedef void rl_compdisp_func_t (char **, int, int); > > >typedef int rl_hook_func_t (void); > > >typedef int rl_getc_func_t (FILE *); > > > > >typedef int rl_linebuf_func_t (char *, int); > > >typedef int rl_intfunc_t (int); > >typedef int rl_icpfunc_t (char *); >typedef int rl_icppfunc_t (char **); > >typedef void rl_voidfunc_t (void); >typedef void rl_vintfunc_t (int); >typedef void rl_vcpfunc_t (char *); >typedef void rl_vcppfunc_t (char **); ># 38 "./lib/readline/readline.h" 2 ># 1 "./lib/readline/keymaps.h" 1 ># 36 "./lib/readline/keymaps.h" ># 1 "./lib/readline/chardefs.h" 1 ># 37 "./lib/readline/keymaps.h" 2 ># 45 "./lib/readline/keymaps.h" >typedef struct _keymap_entry { > char type; > rl_command_func_t *function; >} KEYMAP_ENTRY; ># 61 "./lib/readline/keymaps.h" >typedef KEYMAP_ENTRY KEYMAP_ENTRY_ARRAY[257]; >typedef KEYMAP_ENTRY *Keymap; > > > > > > >extern KEYMAP_ENTRY_ARRAY emacs_standard_keymap, emacs_meta_keymap, emacs_ctlx_keymap; >extern KEYMAP_ENTRY_ARRAY vi_insertion_keymap, vi_movement_keymap; > > > >extern Keymap rl_make_bare_keymap (void); > > >extern Keymap rl_copy_keymap (Keymap); > > > > >extern Keymap rl_make_keymap (void); > > >extern void rl_discard_keymap (Keymap); > > > > > >extern Keymap rl_get_keymap_by_name (const char *); > > >extern Keymap rl_get_keymap (void); > > >extern void rl_set_keymap (Keymap); ># 39 "./lib/readline/readline.h" 2 ># 1 "./lib/readline/tilde.h" 1 ># 43 "./lib/readline/tilde.h" >typedef char *tilde_hook_func_t (char *); > > > > > >extern tilde_hook_func_t *tilde_expansion_preexpansion_hook; > > > > > >extern tilde_hook_func_t *tilde_expansion_failure_hook; > > > > >extern char **tilde_additional_prefixes; > > > > >extern char **tilde_additional_suffixes; > > >extern char *tilde_expand (const char *); > > > >extern char *tilde_expand_word (const char *); ># 40 "./lib/readline/readline.h" 2 ># 55 "./lib/readline/readline.h" >enum undo_code { UNDO_DELETE, UNDO_INSERT, UNDO_BEGIN, UNDO_END }; > > >typedef struct undo_list { > struct undo_list *next; > int start, end; > char *text; > enum undo_code what; >} UNDO_LIST; > > >extern UNDO_LIST *rl_undo_list; > > >typedef struct _funmap { > const char *name; > rl_command_func_t *function; >} FUNMAP; > >extern FUNMAP **funmap; ># 83 "./lib/readline/readline.h" >extern int rl_digit_argument (int, int); >extern int rl_universal_argument (int, int); > > >extern int rl_forward_byte (int, int); >extern int rl_forward_char (int, int); >extern int rl_forward (int, int); >extern int rl_backward_byte (int, int); >extern int rl_backward_char (int, int); >extern int rl_backward (int, int); >extern int rl_beg_of_line (int, int); >extern int rl_end_of_line (int, int); >extern int rl_forward_word (int, int); >extern int rl_backward_word (int, int); >extern int rl_refresh_line (int, int); >extern int rl_clear_screen (int, int); >extern int rl_arrow_keys (int, int); > > >extern int rl_insert (int, int); >extern int rl_quoted_insert (int, int); >extern int rl_tab_insert (int, int); >extern int rl_newline (int, int); >extern int rl_do_lowercase_version (int, int); >extern int rl_rubout (int, int); >extern int rl_delete (int, int); >extern int rl_rubout_or_delete (int, int); >extern int rl_delete_horizontal_space (int, int); >extern int rl_delete_or_show_completions (int, int); >extern int rl_insert_comment (int, int); > > >extern int rl_upcase_word (int, int); >extern int rl_downcase_word (int, int); >extern int rl_capitalize_word (int, int); > > >extern int rl_transpose_words (int, int); >extern int rl_transpose_chars (int, int); > > >extern int rl_char_search (int, int); >extern int rl_backward_char_search (int, int); > > >extern int rl_beginning_of_history (int, int); >extern int rl_end_of_history (int, int); >extern int rl_get_next_history (int, int); >extern int rl_get_previous_history (int, int); > > >extern int rl_set_mark (int, int); >extern int rl_exchange_point_and_mark (int, int); > > >extern int rl_vi_editing_mode (int, int); >extern int rl_emacs_editing_mode (int, int); > > >extern int rl_overwrite_mode (int, int); > > >extern int rl_re_read_init_file (int, int); >extern int rl_dump_functions (int, int); >extern int rl_dump_macros (int, int); >extern int rl_dump_variables (int, int); > > >extern int rl_complete (int, int); >extern int rl_possible_completions (int, int); >extern int rl_insert_completions (int, int); >extern int rl_menu_complete (int, int); > > >extern int rl_kill_word (int, int); >extern int rl_backward_kill_word (int, int); >extern int rl_kill_line (int, int); >extern int rl_backward_kill_line (int, int); >extern int rl_kill_full_line (int, int); >extern int rl_unix_word_rubout (int, int); >extern int rl_unix_line_discard (int, int); >extern int rl_copy_region_to_kill (int, int); >extern int rl_kill_region (int, int); >extern int rl_copy_forward_word (int, int); >extern int rl_copy_backward_word (int, int); >extern int rl_yank (int, int); >extern int rl_yank_pop (int, int); >extern int rl_yank_nth_arg (int, int); >extern int rl_yank_last_arg (int, int); > > > > > > >extern int rl_reverse_search_history (int, int); >extern int rl_forward_search_history (int, int); > > >extern int rl_start_kbd_macro (int, int); >extern int rl_end_kbd_macro (int, int); >extern int rl_call_last_kbd_macro (int, int); > > >extern int rl_revert_line (int, int); >extern int rl_undo_command (int, int); > > >extern int rl_tilde_expand (int, int); > > >extern int rl_restart_output (int, int); >extern int rl_stop_output (int, int); > > >extern int rl_abort (int, int); >extern int rl_tty_status (int, int); > > >extern int rl_history_search_forward (int, int); >extern int rl_history_search_backward (int, int); >extern int rl_noninc_forward_search (int, int); >extern int rl_noninc_reverse_search (int, int); >extern int rl_noninc_forward_search_again (int, int); >extern int rl_noninc_reverse_search_again (int, int); > > >extern int rl_insert_close (int, int); > > >extern void rl_callback_handler_install (const char *, rl_vcpfunc_t *); >extern void rl_callback_read_char (void); >extern void rl_callback_handler_remove (void); > > > >extern int rl_vi_redo (int, int); >extern int rl_vi_undo (int, int); >extern int rl_vi_yank_arg (int, int); >extern int rl_vi_fetch_history (int, int); >extern int rl_vi_search_again (int, int); >extern int rl_vi_search (int, int); >extern int rl_vi_complete (int, int); >extern int rl_vi_tilde_expand (int, int); >extern int rl_vi_prev_word (int, int); >extern int rl_vi_next_word (int, int); >extern int rl_vi_end_word (int, int); >extern int rl_vi_insert_beg (int, int); >extern int rl_vi_append_mode (int, int); >extern int rl_vi_append_eol (int, int); >extern int rl_vi_eof_maybe (int, int); >extern int rl_vi_insertion_mode (int, int); >extern int rl_vi_movement_mode (int, int); >extern int rl_vi_arg_digit (int, int); >extern int rl_vi_change_case (int, int); >extern int rl_vi_put (int, int); >extern int rl_vi_column (int, int); >extern int rl_vi_delete_to (int, int); >extern int rl_vi_change_to (int, int); >extern int rl_vi_yank_to (int, int); >extern int rl_vi_delete (int, int); >extern int rl_vi_back_to_indent (int, int); >extern int rl_vi_first_print (int, int); >extern int rl_vi_char_search (int, int); >extern int rl_vi_match (int, int); >extern int rl_vi_change_char (int, int); >extern int rl_vi_subst (int, int); >extern int rl_vi_overstrike (int, int); >extern int rl_vi_overstrike_delete (int, int); >extern int rl_vi_replace (int, int); >extern int rl_vi_set_mark (int, int); >extern int rl_vi_goto_mark (int, int); > > >extern int rl_vi_check (void); >extern int rl_vi_domove (int, int *); >extern int rl_vi_bracktype (int); > > >extern int rl_vi_fWord (int, int); >extern int rl_vi_bWord (int, int); >extern int rl_vi_eWord (int, int); >extern int rl_vi_fword (int, int); >extern int rl_vi_bword (int, int); >extern int rl_vi_eword (int, int); ># 277 "./lib/readline/readline.h" >extern char *readline (const char *); > >extern int rl_set_prompt (const char *); >extern int rl_expand_prompt (char *); > >extern int rl_initialize (void); > > >extern int rl_discard_argument (void); > > >extern int rl_add_defun (const char *, rl_command_func_t *, int); >extern int rl_bind_key (int, rl_command_func_t *); >extern int rl_bind_key_in_map (int, rl_command_func_t *, Keymap); >extern int rl_unbind_key (int); >extern int rl_unbind_key_in_map (int, Keymap); >extern int rl_unbind_function_in_map (rl_command_func_t *, Keymap); >extern int rl_unbind_command_in_map (const char *, Keymap); >extern int rl_set_key (const char *, rl_command_func_t *, Keymap); >extern int rl_generic_bind (int, const char *, char *, Keymap); >extern int rl_variable_bind (const char *, const char *); > > >extern int rl_macro_bind (const char *, const char *, Keymap); > > >extern int rl_translate_keyseq (const char *, char *, int *); >extern char *rl_untranslate_keyseq (int); > >extern rl_command_func_t *rl_named_function (const char *); >extern rl_command_func_t *rl_function_of_keyseq (const char *, Keymap, int *); > >extern void rl_list_funmap_names (void); >extern char **rl_invoking_keyseqs_in_map (rl_command_func_t *, Keymap); >extern char **rl_invoking_keyseqs (rl_command_func_t *); > >extern void rl_function_dumper (int); >extern void rl_macro_dumper (int); >extern void rl_variable_dumper (int); > >extern int rl_read_init_file (const char *); >extern int rl_parse_and_bind (char *); > > >extern Keymap rl_make_bare_keymap (void); >extern Keymap rl_copy_keymap (Keymap); >extern Keymap rl_make_keymap (void); >extern void rl_discard_keymap (Keymap); > >extern Keymap rl_get_keymap_by_name (const char *); >extern char *rl_get_keymap_name (Keymap); >extern void rl_set_keymap (Keymap); >extern Keymap rl_get_keymap (void); > >extern void rl_set_keymap_from_edit_mode (void); >extern char *rl_get_keymap_name_from_edit_mode (void); > > >extern int rl_add_funmap_entry (const char *, rl_command_func_t *); >extern const char **rl_funmap_names (void); > > >extern void rl_initialize_funmap (void); > > >extern void rl_push_macro_input (char *); > > >extern void rl_add_undo (enum undo_code, int, int, char *); >extern void rl_free_undo_list (void); >extern int rl_do_undo (void); >extern int rl_begin_undo_group (void); >extern int rl_end_undo_group (void); >extern int rl_modifying (int, int); > > >extern void rl_redisplay (void); >extern int rl_on_new_line (void); >extern int rl_on_new_line_with_prompt (void); >extern int rl_forced_update_display (void); >extern int rl_clear_message (void); >extern int rl_reset_line_state (void); >extern int rl_crlf (void); > > >extern int rl_message (const char *, ...) __attribute__((__format__ (printf, 1, 2))); > > > > >extern int rl_show_char (int); > > >extern int rl_character_len (int, int); > > >extern void rl_save_prompt (void); >extern void rl_restore_prompt (void); > > >extern void rl_replace_line (const char *, int); >extern int rl_insert_text (const char *); >extern int rl_delete_text (int, int); >extern int rl_kill_text (int, int); >extern char *rl_copy_text (int, int); > > >extern void rl_prep_terminal (int); >extern void rl_deprep_terminal (void); >extern void rl_tty_set_default_bindings (Keymap); > >extern int rl_reset_terminal (const char *); >extern void rl_resize_terminal (void); >extern void rl_set_screen_size (int, int); >extern void rl_get_screen_size (int *, int *); > >extern char *rl_get_termcap (const char *); > > >extern int rl_stuff_char (int); >extern int rl_execute_next (int); >extern int rl_clear_pending_input (void); >extern int rl_read_key (void); >extern int rl_getc (FILE *); >extern int rl_set_keyboard_input_timeout (int); > > >extern void rl_extend_line_buffer (int); >extern int rl_ding (void); >extern int rl_alphabetic (int); > > >extern int rl_set_signals (void); >extern int rl_clear_signals (void); >extern void rl_cleanup_after_signal (void); >extern void rl_reset_after_signal (void); >extern void rl_free_line_state (void); > >extern int rl_set_paren_blink_timeout (int); > > >extern int rl_maybe_save_line (void); >extern int rl_maybe_unsave_line (void); >extern int rl_maybe_replace_line (void); > > >extern int rl_complete_internal (int); >extern void rl_display_match_list (char **, int, int); > >extern char **rl_completion_matches (const char *, rl_compentry_func_t *); >extern char *rl_username_completion_function (const char *, int); >extern char *rl_filename_completion_function (const char *, int); > >extern int rl_completion_mode (rl_command_func_t *); ># 455 "./lib/readline/readline.h" >extern const char *rl_library_version; >extern int rl_readline_version; > > >extern int rl_gnu_readline_p; > > >extern int rl_readline_state; > > > >extern int rl_editing_mode; > > > >extern int rl_insert_mode; > > > >extern const char *rl_readline_name; > > > >extern char *rl_prompt; > > >extern char *rl_line_buffer; > > >extern int rl_point; >extern int rl_end; > > >extern int rl_mark; > > > >extern int rl_done; > > >extern int rl_pending_input; > > > > >extern int rl_dispatching; > > > >extern int rl_explicit_arg; > > >extern int rl_numeric_arg; > > >extern rl_command_func_t *rl_last_func; > > >extern const char *rl_terminal_name; > > >extern FILE *rl_instream; >extern FILE *rl_outstream; > > > >extern rl_hook_func_t *rl_startup_hook; > > > > >extern rl_hook_func_t *rl_pre_input_hook; > > > >extern rl_hook_func_t *rl_event_hook; > > > >extern rl_getc_func_t *rl_getc_function; > >extern rl_voidfunc_t *rl_redisplay_function; > >extern rl_vintfunc_t *rl_prep_term_function; >extern rl_voidfunc_t *rl_deprep_term_function; > > >extern Keymap rl_executing_keymap; >extern Keymap rl_binding_keymap; > > > > > >extern int rl_erase_empty_line; > > > > >extern int rl_already_prompted; > > > >extern int rl_num_chars_to_read; > > >extern char *rl_executing_macro; > > > > >extern int rl_catch_signals; > > > > > > >extern int rl_catch_sigwinch; > > > > > >extern rl_compentry_func_t *rl_completion_entry_function; > > > > > > > >extern rl_compignore_func_t *rl_ignore_some_completions_function; ># 596 "./lib/readline/readline.h" >extern rl_completion_func_t *rl_attempted_completion_function; > > > > >extern const char *rl_basic_word_break_characters; > > > > >extern const char *rl_completer_word_break_characters; > > > > > >extern const char *rl_completer_quote_characters; > > >extern const char *rl_basic_quote_characters; > > >extern const char *rl_filename_quote_characters; > > > > >extern const char *rl_special_prefixes; > > > > > > >extern rl_icppfunc_t *rl_directory_completion_hook; ># 639 "./lib/readline/readline.h" >extern rl_icppfunc_t *rl_directory_rewrite_hook; ># 651 "./lib/readline/readline.h" >extern rl_compdisp_func_t *rl_completion_display_matches_hook; > > > > >extern int rl_filename_completion_desired; > > > > > > >extern int rl_filename_quoting_desired; > > > > > >extern rl_quote_func_t *rl_filename_quoting_function; > > > > >extern rl_dequote_func_t *rl_filename_dequoting_function; > > > > >extern rl_linebuf_func_t *rl_char_is_quoted_p; > > > >extern int rl_attempted_completion_over; > > > > >extern int rl_completion_type; > > > >extern int rl_completion_append_character; > > > >extern int rl_completion_suppress_append; > > > > >extern int rl_completion_query_items; ># 712 "./lib/readline/readline.h" >extern int rl_completion_mark_symlink_dirs; > > >extern int rl_ignore_completion_duplicates; > > > >extern int rl_inhibit_completion; ># 759 "./lib/readline/readline.h" >struct readline_state { > > int point; > int end; > int mark; > char *buffer; > int buflen; > UNDO_LIST *ul; > char *prompt; > > > int rlstate; > int done; > Keymap kmap; > > > rl_command_func_t *lastfunc; > int insmode; > int edmode; > int kseqlen; > FILE *inf; > FILE *outf; > int pendingin; > char *macro; > > > int catchsigs; > int catchsigwinch; > > > char reserved[64]; >}; > >extern int rl_save_state (struct readline_state *); >extern int rl_restore_state (struct readline_state *); ># 59 "./parse.y" 2 > > > ># 1 "bashhist.h" 1 ># 26 "bashhist.h" >extern int remember_on_history; >extern int history_lines_this_session; >extern int history_lines_in_file; >extern int history_expansion; >extern int history_control; >extern int command_oriented_history; >extern int current_command_first_line_saved; >extern int hist_last_line_added; > > >extern int history_expansion_inhibited; > > >extern void bash_initialize_history (void) ; >extern void bash_history_reinit (int) ; >extern void bash_history_disable (void) ; >extern void bash_history_enable (void) ; >extern void load_history (void) ; >extern void save_history (void) ; >extern int maybe_append_history (char *) ; >extern int maybe_save_shell_history (void) ; >extern char *pre_process_line (char *, int, int) ; >extern void maybe_add_history (char *) ; >extern void bash_add_history (char *) ; >extern int check_add_history (char *, int) ; >extern int history_number (void) ; > >extern void setup_history_ignore (char *) ; > >extern char *last_history_line (void) ; ># 63 "./parse.y" 2 ># 1 "./lib/readline/history.h" 1 ># 38 "./lib/readline/history.h" >typedef void *histdata_t; > > > > > >typedef struct _hist_entry { > char *line; > histdata_t data; >} HIST_ENTRY; > > >typedef struct _hist_state { > HIST_ENTRY **entries; > int offset; > int length; > int size; > int flags; >} HISTORY_STATE; ># 65 "./lib/readline/history.h" >extern void using_history (void); > > >extern HISTORY_STATE *history_get_history_state (void); > > >extern void history_set_history_state (HISTORY_STATE *); > > > > > >extern void add_history (const char *); > > > > >extern HIST_ENTRY *remove_history (int); > > > > >extern HIST_ENTRY *replace_history_entry (int, const char *, histdata_t); > > >extern void clear_history (void); > > >extern void stifle_history (int); > > > > >extern int unstifle_history (void); > > >extern int history_is_stifled (void); > > > > > > >extern HIST_ENTRY **history_list (void); > > > >extern int where_history (void); > > > >extern HIST_ENTRY *current_history (void); > > > >extern HIST_ENTRY *history_get (int); > > > >extern int history_total_bytes (void); > > > > >extern int history_set_pos (int); > > > > >extern HIST_ENTRY *previous_history (void); > > > > >extern HIST_ENTRY *next_history (void); ># 149 "./lib/readline/history.h" >extern int history_search (const char *, int); > > > > >extern int history_search_prefix (const char *, int); > > > > > > >extern int history_search_pos (const char *, int, int); > > > > > > >extern int read_history (const char *); > > > > > > >extern int read_history_range (const char *, int, int); > > > > >extern int write_history (const char *); > > > >extern int append_history (int, const char *); > > >extern int history_truncate_file (const char *, int); ># 203 "./lib/readline/history.h" >extern int history_expand (char *, char **); > > > > >extern char *history_arg_extract (int, int, const char *); > > > > > > > >extern char *get_history_event (const char *, int *, int); > > > >extern char **history_tokenize (const char *); > > >extern int history_base; >extern int history_length; >extern int history_max_entries; >extern char history_expansion_char; >extern char history_subst_char; >extern char *history_word_delimiters; >extern char history_comment_char; >extern char *history_no_expand_chars; >extern char *history_search_delimiter_chars; >extern int history_quotes_inhibit_expansion; > > >extern int max_input_history; > > > > >extern rl_linebuf_func_t *history_inhibit_expansion_function; ># 64 "./parse.y" 2 > > > ># 1 "jobs.h" 1 ># 25 "jobs.h" ># 1 "siglist.h" 1 ># 26 "jobs.h" 2 > > > ># 1 "./include/posixwait.h" 1 ># 28 "./include/posixwait.h" ># 1 "/usr/include/sys/wait.h" 1 3 4 ># 28 "/usr/include/sys/wait.h" 3 4 > ># 98 "/usr/include/sys/wait.h" 3 4 >typedef enum >{ > P_ALL, > P_PID, > P_PGID >} idtype_t; ># 112 "/usr/include/sys/wait.h" 3 4 >extern __pid_t wait (__WAIT_STATUS __stat_loc); ># 135 "/usr/include/sys/wait.h" 3 4 >extern __pid_t waitpid (__pid_t __pid, int *__stat_loc, int __options); > > > ># 1 "/usr/include/bits/siginfo.h" 1 3 4 ># 25 "/usr/include/bits/siginfo.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 26 "/usr/include/bits/siginfo.h" 2 3 4 ># 140 "/usr/include/sys/wait.h" 2 3 4 ># 151 "/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 (__WAIT_STATUS __stat_loc, int __options, > struct rusage * __usage) ; > > > > > >struct rusage; > > >extern __pid_t wait4 (__pid_t __pid, __WAIT_STATUS __stat_loc, int __options, > struct rusage *__usage) ; > > > > ># 29 "./include/posixwait.h" 2 ># 41 "./include/posixwait.h" >typedef int WAIT; ># 30 "jobs.h" 2 ># 52 "jobs.h" >typedef struct process { > struct process *next; > pid_t pid; > WAIT status; > int running; > char *command; >} PROCESS; > > > > > > > >typedef enum { JRUNNING, JSTOPPED, JDEAD, JMIXED } JOB_STATE; ># 83 "jobs.h" >typedef struct job { > char *wd; > PROCESS *pipe; > pid_t pgrp; > JOB_STATE state; > int flags; > > COMMAND *deferred; > sh_vptrfunc_t *j_cleanup; > void * cleanarg; > >} JOB; ># 108 "jobs.h" >extern pid_t original_pgrp, shell_pgrp, pipeline_pgrp; >extern pid_t last_made_pid, last_asynchronous_pid; >extern int current_job, previous_job; >extern int asynchronous_notification; >extern JOB **jobs; >extern int job_slots; > >extern void making_children (void) ; >extern void stop_making_children (void) ; >extern void cleanup_the_pipeline (void) ; >extern void save_pipeline (int) ; >extern void restore_pipeline (int) ; >extern void start_pipeline (void) ; >extern int stop_pipeline (int, COMMAND *) ; > >extern void delete_job (int, int) ; >extern void nohup_job (int) ; >extern void delete_all_jobs (int) ; >extern void nohup_all_jobs (int) ; > >extern int count_all_jobs (void) ; > >extern void terminate_current_pipeline (void) ; >extern void terminate_stopped_jobs (void) ; >extern void hangup_all_jobs (void) ; >extern void kill_current_pipeline (void) ; > > > > > >extern int get_job_by_pid (pid_t, int) ; >extern void describe_pid (pid_t) ; > > >extern void list_one_job (JOB *, int, int, int) ; >extern void list_all_jobs (int) ; >extern void list_stopped_jobs (int) ; >extern void list_running_jobs (int) ; > >extern pid_t make_child (char *, int) ; > >extern int get_tty_state (void) ; >extern int set_tty_state (void) ; > >extern int wait_for_single_pid (pid_t) ; >extern void wait_for_background_pids (void) ; >extern int wait_for (pid_t) ; >extern int wait_for_job (int) ; > >extern void notify_and_cleanup (void) ; >extern void reap_dead_jobs (void) ; >extern int start_job (int, int) ; >extern int kill_pid (pid_t, int, int) ; >extern int initialize_job_control (int) ; >extern void initialize_job_signals (void) ; >extern int give_terminal_to (pid_t, int) ; > >extern void set_sigwinch_handler (void) ; >extern void unset_sigwinch_handler (void) ; > >extern void unfreeze_jobs_list (void) ; >extern int set_job_control (int) ; >extern void without_job_control (void) ; >extern void end_job_control (void) ; >extern void restart_job_control (void) ; >extern void set_sigchld_handler (void) ; >extern void ignore_tty_job_signals (void) ; >extern void default_tty_job_signals (void) ; > > >extern int job_control; ># 68 "./parse.y" 2 > > > ># 1 "alias.h" 1 ># 28 "alias.h" >typedef struct alias { > char *name; > char *value; > char flags; >} alias_t; > > > > > > >extern HASH_TABLE *aliases; > >extern void initialize_aliases (void) ; > > > >extern alias_t *find_alias (char *) ; > > >extern char *get_alias_value (char *) ; > > > >extern void add_alias (char *, char *) ; > > > >extern int remove_alias (char *) ; > > >extern void delete_all_aliases (void) ; > > >extern alias_t **all_aliases (void) ; > > >extern char *alias_expand_word (char *) ; > > >extern char *alias_expand (char *) ; ># 72 "./parse.y" 2 > > > > ># 1 "/usr/include/sys/param.h" 1 3 4 ># 22 "/usr/include/sys/param.h" 3 4 ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 1 3 4 ># 23 "/usr/include/sys/param.h" 2 3 4 > ># 1 "/usr/include/linux/param.h" 1 3 4 > > > ># 1 "/usr/include/asm/param.h" 1 3 4 ># 5 "/usr/include/linux/param.h" 2 3 4 ># 25 "/usr/include/sys/param.h" 2 3 4 ># 77 "./parse.y" 2 > ># 1 "/usr/include/time.h" 1 3 4 ># 30 "/usr/include/time.h" 3 4 > > > > > > > > ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 ># 39 "/usr/include/time.h" 2 3 4 > > > ># 1 "/usr/include/bits/time.h" 1 3 4 ># 43 "/usr/include/time.h" 2 3 4 ># 129 "/usr/include/time.h" 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; > > > > >}; > > > > > > > > >struct itimerspec > { > struct timespec it_interval; > struct timespec it_value; > }; > > >struct sigevent; ># 178 "/usr/include/time.h" 3 4 > > > >extern clock_t clock (void) ; > > >extern time_t time (time_t *__timer) ; > > >extern double difftime (time_t __time1, time_t __time0) > __attribute__ ((__const__)); > > >extern time_t mktime (struct tm *__tp) ; > > > > > >extern size_t strftime (char *__restrict __s, size_t __maxsize, > __const char *__restrict __format, > __const struct tm *__restrict __tp) ; > > > > > >extern char *strptime (__const char *__restrict __s, > __const char *__restrict __fmt, struct tm *__tp) > ; > > > > > > > >extern size_t strftime_l (char *__restrict __s, size_t __maxsize, > __const char *__restrict __format, > __const struct tm *__restrict __tp, > __locale_t __loc) ; > >extern char *strptime_l (__const char *__restrict __s, > __const char *__restrict __fmt, struct tm *__tp, > __locale_t __loc) ; > > > > > > >extern struct tm *gmtime (__const time_t *__timer) ; > > > >extern struct tm *localtime (__const time_t *__timer) ; > > > > > >extern struct tm *gmtime_r (__const time_t *__restrict __timer, > struct tm *__restrict __tp) ; > > > >extern struct tm *localtime_r (__const time_t *__restrict __timer, > struct tm *__restrict __tp) ; > > > > > >extern char *asctime (__const struct tm *__tp) ; > > >extern char *ctime (__const time_t *__timer) ; > > > > > > > >extern char *asctime_r (__const struct tm *__restrict __tp, > char *__restrict __buf) ; > > >extern char *ctime_r (__const time_t *__restrict __timer, > char *__restrict __buf) ; > > > > >extern char *__tzname[2]; >extern int __daylight; >extern long int __timezone; > > > > >extern char *tzname[2]; > > > >extern void tzset (void) ; > > > >extern int daylight; >extern long int timezone; > > > > > >extern int stime (__const time_t *__when) ; ># 309 "/usr/include/time.h" 3 4 >extern time_t timegm (struct tm *__tp) ; > > >extern time_t timelocal (struct tm *__tp) ; > > >extern int dysize (int __year) __attribute__ ((__const__)); ># 324 "/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) ; > > >extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) ; > > >extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) > ; > > > > > > >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) ; > > > > >extern int timer_create (clockid_t __clock_id, > struct sigevent *__restrict __evp, > timer_t *__restrict __timerid) ; > > >extern int timer_delete (timer_t __timerid) ; > > >extern int timer_settime (timer_t __timerid, int __flags, > __const struct itimerspec *__restrict __value, > struct itimerspec *__restrict __ovalue) ; > > >extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) > ; > > >extern int timer_getoverrun (timer_t __timerid) ; ># 386 "/usr/include/time.h" 3 4 >extern int getdate_err; ># 395 "/usr/include/time.h" 3 4 >extern struct tm *getdate (__const char *__string); ># 409 "/usr/include/time.h" 3 4 >extern int getdate_r (__const char *__restrict __string, > struct tm *__restrict __resbufp); > > > ># 79 "./parse.y" 2 ># 107 "./parse.y" >extern int extended_glob; > > >extern int eof_encountered; >extern int no_line_editing, running_under_emacs; >extern int current_command_number; >extern int sourcelevel; >extern int posixly_correct; >extern int last_command_exit_value; >extern int interrupt_immediately; >extern char *shell_name, *current_host_name; >extern char *dist_version; >extern int patch_level; >extern int dump_translatable_strings, dump_po_strings; >extern sh_builtin_func_t *last_shell_builtin, *this_shell_builtin; > >extern int bash_input_fd_changed; > > >extern int errno; ># 137 "./parse.y" >static int yy_getc (void) ; >static int yy_ungetc (int) ; > > >static int yy_readline_get (void) ; >static int yy_readline_unget (int) ; > > >static int yy_string_get (void) ; >static int yy_string_unget (int) ; >static int yy_stream_get (void) ; >static int yy_stream_unget (int) ; > >static int shell_getc (int) ; >static void shell_ungetc (int) ; >static void discard_until (int) ; > > >static void push_string (char *, int, alias_t *) ; >static void pop_string (void) ; >static void free_string_list (void) ; > > >static char *read_a_line (int) ; > >static int reserved_word_acceptable (int) ; >static int yylex (void) ; >static int alias_expand_token (char *) ; >static int time_command_acceptable (void) ; >static int special_case_tokens (char *) ; >static int read_token (int) ; >static char *parse_matched_pair (int, int, int, int *, int) ; > >static char *parse_compound_assignment (int *) ; > > >static int parse_dparen (int) ; >static int parse_arith_cmd (char **) ; > > >static void cond_error (void) ; >static COND_COM *cond_expr (void) ; >static COND_COM *cond_or (void) ; >static COND_COM *cond_and (void) ; >static COND_COM *cond_term (void) ; >static int cond_skip_newlines (void) ; >static COMMAND *parse_cond_command (void) ; > > >static int token_is_assignment (char *, int) ; >static int token_is_ident (char *, int) ; > >static int read_token_word (int) ; >static void discard_parser_constructs (int) ; > >static char *error_token_from_token (int) ; >static char *error_token_from_text (void) ; >static void print_offending_line (void) ; >static void report_syntax_error (char *) ; > >static void handle_eof_input_unit (void) ; >static void prompt_again (void) ; > > > >static void print_prompt (void) ; > > >char *history_delimiting_chars (void) ; > > > >static void set_line_mbstate (void) ; >static char *shell_input_line_property = ((void *)0); > > > > >extern int yyerror (const char *) ; > > > > > > >char *primary_prompt = "\\s-\\v\\$ "; >char *secondary_prompt = "> "; > > >char *ps1_prompt, *ps2_prompt; > > > >char **prompt_string_pointer = (char **)((void *)0); >char *current_prompt_string; > > >int expand_aliases = 0; > > > > > >int promptvars = 1; > > > >static char *current_decoded_prompt; > > >int current_command_line_count; > > > >static REDIRECT *redir_stack[10]; >int need_here_doc; > > > >static char *shell_input_line = (char *)((void *)0); >static int shell_input_line_index; >static int shell_input_line_size; >static int shell_input_line_len; > > >static int shell_input_line_terminator; > > >static int function_dstart; > > >static int function_bstart; > > >static int arith_for_lineno; > >static REDIRECTEE redir; ># 276 "./parse.y" >typedef union YYSTYPE { > WORD_DESC *word; > int number; > WORD_LIST *word_list; > COMMAND *command; > REDIRECT *redirect; > ELEMENT element; > PATTERN_LIST *pattern; >} YYSTYPE; ># 424 "y.tab.c" ># 436 "y.tab.c" ># 474 "y.tab.c" >union yyalloc >{ > short yyss; > YYSTYPE yyvs; > }; ># 526 "y.tab.c" > typedef signed char yysigned_char; ># 553 "y.tab.c" >static const unsigned char yytranslate[] = >{ > 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 44, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 42, 2, > 52, 53, 2, 2, 2, 49, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 43, > 48, 2, 47, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 50, 46, 51, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, > 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, > 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, > 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, > 35, 36, 37, 38, 39, 40, 41, 45 >}; ># 735 "y.tab.c" >static const unsigned char yyr1[] = >{ > 0, 54, 55, 55, 55, 55, 56, 56, 56, 57, > 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, > 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, > 57, 57, 57, 57, 57, 57, 57, 57, 58, 58, > 58, 59, 59, 60, 60, 61, 61, 61, 61, 62, > 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, > 63, 63, 63, 63, 63, 63, 63, 63, 64, 64, > 64, 64, 65, 65, 65, 65, 65, 65, 66, 66, > 66, 67, 67, 67, 68, 68, 69, 70, 70, 70, > 71, 72, 73, 74, 74, 74, 75, 75, 76, 76, > 76, 76, 77, 77, 78, 78, 79, 80, 80, 81, > 81, 81, 82, 82, 82, 82, 82, 82, 83, 83, > 84, 84, 84, 85, 85, 86, 86, 86, 87, 87, > 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, > 90, 90 >}; > > >static const unsigned char yyr2[] = >{ > 0, 2, 2, 1, 2, 1, 0, 1, 2, 2, > 2, 3, 3, 2, 3, 2, 3, 2, 3, 2, > 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, > 3, 2, 3, 2, 3, 2, 2, 3, 1, 1, > 1, 1, 2, 1, 2, 1, 1, 2, 1, 1, > 1, 5, 5, 1, 1, 1, 1, 1, 1, 1, > 6, 6, 7, 7, 10, 10, 9, 9, 7, 7, > 5, 5, 6, 6, 7, 7, 10, 10, 6, 7, > 6, 5, 6, 4, 1, 2, 3, 5, 7, 6, > 3, 1, 3, 4, 6, 5, 1, 2, 4, 4, > 5, 5, 2, 3, 1, 3, 2, 1, 2, 3, > 3, 3, 4, 4, 4, 4, 4, 1, 1, 1, > 1, 1, 1, 0, 2, 1, 2, 2, 4, 4, > 3, 3, 1, 1, 2, 2, 3, 3, 4, 1, > 1, 2 >}; > > > > >static const unsigned char yydefact[] = >{ > 0, 0, 123, 0, 0, 0, 123, 123, 0, 0, > 0, 140, 38, 39, 0, 91, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 3, 5, 0, 0, 123, > 123, 0, 40, 43, 45, 139, 46, 49, 59, 53, > 50, 48, 55, 54, 56, 57, 58, 0, 125, 132, > 133, 0, 4, 107, 0, 0, 123, 123, 0, 123, > 0, 0, 123, 0, 134, 0, 141, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 13, 15, > 23, 19, 31, 17, 25, 21, 29, 27, 33, 35, > 36, 9, 10, 0, 0, 1, 38, 44, 41, 47, > 118, 119, 2, 123, 123, 126, 127, 123, 0, 135, > 123, 124, 106, 108, 117, 0, 123, 0, 123, 121, > 120, 122, 123, 123, 123, 0, 123, 123, 0, 0, > 92, 137, 123, 14, 16, 24, 20, 32, 18, 26, > 22, 30, 28, 34, 37, 11, 12, 90, 86, 42, > 0, 0, 130, 131, 0, 136, 0, 123, 123, 123, > 123, 123, 123, 0, 123, 0, 123, 0, 0, 0, > 0, 123, 6, 123, 0, 0, 123, 84, 83, 0, > 128, 129, 0, 0, 138, 123, 123, 87, 0, 0, > 0, 110, 111, 109, 0, 96, 123, 0, 123, 123, > 0, 7, 0, 123, 0, 70, 71, 123, 123, 123, > 123, 0, 0, 0, 0, 51, 52, 0, 85, 81, > 0, 0, 89, 112, 113, 114, 115, 116, 80, 102, > 97, 0, 78, 104, 0, 0, 0, 0, 60, 8, > 123, 0, 61, 0, 0, 0, 0, 72, 0, 123, > 73, 82, 88, 123, 123, 123, 123, 103, 79, 0, > 0, 123, 62, 63, 0, 123, 123, 68, 69, 74, > 75, 0, 93, 0, 0, 0, 123, 105, 98, 99, > 123, 123, 0, 0, 123, 123, 123, 95, 100, 101, > 0, 0, 66, 67, 0, 0, 94, 64, 65, 76, > 77 >}; > > >static const short yydefgoto[] = >{ > -1, 31, 202, 32, 33, 99, 34, 35, 36, 37, > 38, 39, 40, 41, 178, 42, 43, 44, 45, 46, > 188, 194, 195, 196, 235, 53, 54, 112, 113, 102, > 123, 55, 47, 152, 114, 50, 51 >}; > > > > >static const short yypact[] = >{ > 275, -24, -182, -7, 10, -2, -182, -182, 16, -1, > 404, 43, 20, -182, 554, -182, 50, 71, -10, 74, > 34, 76, 82, 89, 98, -182, -182, 101, 124, -182, > -182, 161, -182, -182, 171, -182, 204, -182, -182, -182, > -182, -182, -182, -182, -182, -182, -182, 41, 72, -182, > 117, 447, -182, -182, 160, 318, -182, 125, 95, 131, > 164, 167, 134, 157, 117, 533, -182, 141, 184, 190, > 35, 191, 75, 192, 196, 197, 199, 200, -182, -182, > -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, > -182, -182, -182, 166, 172, -182, -182, -182, -182, 204, > -182, -182, -182, -182, -182, 361, 361, -182, 533, 117, > -182, -182, -182, 251, -182, 27, -182, 122, -182, -182, > -182, -182, -182, -182, -182, 123, -182, -182, 173, 38, > -182, 117, -182, -182, -182, -182, -182, -182, -182, -182, > -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, > 318, 318, 48, 48, 490, 117, 193, -182, -182, -182, > -182, -182, -182, 23, -182, 146, -182, 216, 181, 31, > 73, -182, 209, -182, 220, 226, -182, 204, -182, 38, > -182, -182, 361, 361, 117, -182, -182, -182, 241, 318, > 318, 318, 318, 318, 244, 213, -182, 12, -182, -182, > 239, -182, 222, -182, 205, -182, -182, -182, -182, -182, > -182, 246, 318, 222, 211, -182, -182, 38, 204, -182, > 256, 260, -182, -182, -182, 97, 97, 97, -182, -182, > 231, 18, -182, -182, 245, -28, 257, 228, -182, -182, > -182, 112, -182, 258, 233, 262, 238, -182, 251, -182, > -182, -182, -182, -182, -182, -182, -182, -182, -182, -20, > 247, -182, -182, -182, 115, -182, -182, -182, -182, -182, > -182, 127, 145, 318, 318, 318, -182, -182, -182, 318, > -182, -182, 283, 252, -182, -182, -182, -182, -182, 318, > 289, 254, -182, -182, 291, 261, -182, -182, -182, -182, > -182 >}; > > >static const short yypgoto[] = >{ > -182, -182, 118, -30, 284, 140, -182, -182, -126, -182, > -182, -182, -182, -182, -160, -182, -182, -182, -182, -182, > 52, -182, 136, -182, 99, -166, -6, -182, -181, -182, > -150, -27, -182, 4, 2, 3, 326 >}; > > > > > > >static const unsigned short yytable[] = >{ > 60, 61, 49, 177, 48, 211, 98, 214, 223, 224, > 225, 226, 227, 64, 80, 203, 81, 56, 260, 219, > 52, 232, 59, 93, 94, 261, 260, 258, 63, 115, > 117, 248, 125, 276, 57, 129, 233, 198, 58, 82, > 62, 2, 233, 245, 246, 207, 3, 162, 4, 5, > 6, 7, 240, 177, 109, 9, 111, 251, 84, 135, > 85, 136, 111, 249, 234, 15, 66, 111, 131, 149, > 234, 111, 67, 199, 78, 111, 150, 151, 103, 104, > 154, 208, 111, 86, 137, 100, 101, 209, 29, 163, > 30, 177, 225, 226, 227, 79, 169, 170, 83, 139, > 87, 140, 103, 104, 156, 179, 88, 49, 49, 118, > 153, 155, 167, 89, 105, 106, 168, 111, 294, 295, > 174, 175, 90, 210, 141, 91, 265, 157, 158, 280, > 189, 190, 191, 192, 193, 197, 164, 171, 119, 120, > 121, 284, 165, 172, 212, 122, 212, 98, 92, 217, > 286, 186, 49, 49, 180, 181, 111, 184, 200, 111, > 204, 95, 266, 107, 110, 281, 111, 111, 116, 231, > 201, 111, 166, 173, 124, 130, 241, 285, 126, 220, > 221, 127, 212, 212, 49, 49, 128, 153, 149, 119, > 120, 121, 236, 237, 132, 96, 13, 14, 185, 186, > 187, 243, 244, 16, 17, 18, 19, 20, 133, 21, > 22, 23, 24, 264, 134, 138, 142, 147, 27, 28, > 143, 144, 271, 145, 146, 148, 176, 273, 274, 275, > 14, 205, 206, 201, 279, 215, 16, 17, 18, 19, > 20, 216, 21, 22, 23, 24, 239, 272, 222, 289, > 229, 27, 28, 228, 238, 278, 242, 212, 212, 282, > 283, 247, 250, 252, 253, 119, 120, 121, 257, 233, > 288, 277, 262, 267, 290, 291, 1, 269, 2, 263, > 296, 157, 158, 3, 268, 4, 5, 6, 7, 270, > 213, 8, 9, 159, 160, 161, 10, 11, 292, 12, > 13, 14, 15, 293, 297, 298, 299, 16, 17, 18, > 19, 20, 300, 21, 22, 23, 24, 218, 97, 25, > 26, 2, 27, 28, 287, 29, 3, 30, 4, 5, > 6, 7, 230, 259, 8, 9, 65, 0, 0, 10, > 11, 0, 12, 13, 14, 15, 0, 0, 0, 0, > 16, 17, 18, 19, 20, 0, 21, 22, 23, 24, > 0, 0, 111, 0, 2, 27, 28, 0, 29, 3, > 30, 4, 5, 6, 7, 0, 0, 8, 9, 0, > 0, 0, 10, 11, 0, 12, 13, 14, 15, 0, > 0, 0, 0, 16, 17, 18, 19, 20, 0, 21, > 22, 23, 24, 0, 0, 0, 0, 2, 27, 28, > 0, 29, 3, 30, 4, 5, 6, 7, 0, 0, > 8, 9, 0, 0, 0, 0, 11, 0, 12, 13, > 14, 15, 0, 0, 0, 0, 16, 17, 18, 19, > 20, 0, 21, 22, 23, 24, 0, 0, 0, 0, > 2, 27, 28, 0, 29, 3, 30, 4, 5, 6, > 7, 0, 0, 8, 9, 0, 0, 0, 108, 0, > 0, 12, 13, 14, 15, 0, 0, 0, 0, 16, > 17, 18, 19, 20, 0, 21, 22, 23, 24, 0, > 0, 0, 0, 2, 27, 28, 0, 29, 3, 30, > 4, 5, 6, 7, 0, 0, 8, 9, 0, 0, > 0, 0, 0, 0, 12, 13, 14, 15, 0, 0, > 0, 0, 16, 17, 18, 19, 20, 0, 21, 22, > 23, 24, 0, 0, 111, 0, 2, 27, 28, 0, > 29, 3, 30, 4, 5, 6, 7, 0, 0, 8, > 9, 0, 0, 0, 0, 0, 0, 12, 13, 14, > 15, 0, 0, 0, 0, 16, 17, 18, 19, 20, > 0, 21, 22, 23, 24, 0, 0, 0, 0, 0, > 27, 28, 0, 29, 0, 30, 68, 69, 70, 71, > 72, 0, 73, 0, 74, 75, 0, 0, 0, 0, > 0, 76, 77 >}; > >static const short yycheck[] = >{ > 6, 7, 0, 129, 0, 171, 36, 173, 189, 190, > 191, 192, 193, 10, 24, 165, 26, 24, 46, 179, > 44, 9, 24, 29, 30, 53, 46, 9, 29, 56, > 57, 212, 59, 53, 24, 62, 24, 14, 28, 49, > 24, 3, 24, 209, 210, 14, 8, 20, 10, 11, > 12, 13, 202, 179, 51, 17, 44, 217, 24, 24, > 26, 26, 44, 213, 52, 27, 23, 44, 65, 99, > 52, 44, 52, 50, 24, 44, 103, 104, 30, 31, > 107, 50, 44, 49, 49, 44, 45, 14, 50, 116, > 52, 217, 273, 274, 275, 24, 123, 124, 24, 24, > 24, 26, 30, 31, 110, 132, 24, 105, 106, 14, > 106, 108, 118, 24, 42, 43, 122, 44, 284, 285, > 126, 127, 24, 50, 49, 24, 14, 30, 31, 14, > 157, 158, 159, 160, 161, 162, 14, 14, 43, 44, > 45, 14, 20, 20, 171, 50, 173, 177, 24, 176, > 5, 6, 150, 151, 150, 151, 44, 154, 164, 44, > 166, 0, 50, 46, 4, 50, 44, 44, 43, 196, > 24, 44, 50, 50, 43, 18, 203, 50, 14, 185, > 186, 14, 209, 210, 182, 183, 52, 183, 218, 43, > 44, 45, 198, 199, 53, 24, 25, 26, 5, 6, > 7, 207, 208, 32, 33, 34, 35, 36, 24, 38, > 39, 40, 41, 240, 24, 24, 24, 51, 47, 48, > 24, 24, 249, 24, 24, 53, 53, 254, 255, 256, > 26, 15, 51, 24, 261, 15, 32, 33, 34, 35, > 36, 15, 38, 39, 40, 41, 24, 253, 7, 276, > 37, 47, 48, 9, 15, 261, 51, 284, 285, 265, > 266, 15, 51, 7, 4, 43, 44, 45, 37, 24, > 276, 24, 15, 15, 280, 281, 1, 15, 3, 51, > 286, 30, 31, 8, 51, 10, 11, 12, 13, 51, > 172, 16, 17, 42, 43, 44, 21, 22, 15, 24, > 25, 26, 27, 51, 15, 51, 15, 32, 33, 34, > 35, 36, 51, 38, 39, 40, 41, 177, 34, 44, > 45, 3, 47, 48, 272, 50, 8, 52, 10, 11, > 12, 13, 196, 234, 16, 17, 10, -1, -1, 21, > 22, -1, 24, 25, 26, 27, -1, -1, -1, -1, > 32, 33, 34, 35, 36, -1, 38, 39, 40, 41, > -1, -1, 44, -1, 3, 47, 48, -1, 50, 8, > 52, 10, 11, 12, 13, -1, -1, 16, 17, -1, > -1, -1, 21, 22, -1, 24, 25, 26, 27, -1, > -1, -1, -1, 32, 33, 34, 35, 36, -1, 38, > 39, 40, 41, -1, -1, -1, -1, 3, 47, 48, > -1, 50, 8, 52, 10, 11, 12, 13, -1, -1, > 16, 17, -1, -1, -1, -1, 22, -1, 24, 25, > 26, 27, -1, -1, -1, -1, 32, 33, 34, 35, > 36, -1, 38, 39, 40, 41, -1, -1, -1, -1, > 3, 47, 48, -1, 50, 8, 52, 10, 11, 12, > 13, -1, -1, 16, 17, -1, -1, -1, 21, -1, > -1, 24, 25, 26, 27, -1, -1, -1, -1, 32, > 33, 34, 35, 36, -1, 38, 39, 40, 41, -1, > -1, -1, -1, 3, 47, 48, -1, 50, 8, 52, > 10, 11, 12, 13, -1, -1, 16, 17, -1, -1, > -1, -1, -1, -1, 24, 25, 26, 27, -1, -1, > -1, -1, 32, 33, 34, 35, 36, -1, 38, 39, > 40, 41, -1, -1, 44, -1, 3, 47, 48, -1, > 50, 8, 52, 10, 11, 12, 13, -1, -1, 16, > 17, -1, -1, -1, -1, -1, -1, 24, 25, 26, > 27, -1, -1, -1, -1, 32, 33, 34, 35, 36, > -1, 38, 39, 40, 41, -1, -1, -1, -1, -1, > 47, 48, -1, 50, -1, 52, 32, 33, 34, 35, > 36, -1, 38, -1, 40, 41, -1, -1, -1, -1, > -1, 47, 48 >}; > > > >static const unsigned char yystos[] = >{ > 0, 1, 3, 8, 10, 11, 12, 13, 16, 17, > 21, 22, 24, 25, 26, 27, 32, 33, 34, 35, > 36, 38, 39, 40, 41, 44, 45, 47, 48, 50, > 52, 55, 57, 58, 60, 61, 62, 63, 64, 65, > 66, 67, 69, 70, 71, 72, 73, 86, 87, 88, > 89, 90, 44, 79, 80, 85, 24, 24, 28, 24, > 80, 80, 24, 29, 89, 90, 23, 52, 32, 33, > 34, 35, 36, 38, 40, 41, 47, 48, 24, 24, > 24, 26, 49, 24, 24, 26, 49, 24, 24, 24, > 24, 24, 24, 80, 80, 0, 24, 58, 57, 59, > 44, 45, 83, 30, 31, 42, 43, 46, 21, 89, > 4, 44, 81, 82, 88, 85, 43, 85, 14, 43, > 44, 45, 50, 84, 43, 85, 14, 14, 52, 85, > 18, 89, 53, 24, 24, 24, 26, 49, 24, 24, > 26, 49, 24, 24, 24, 24, 24, 51, 53, 57, > 85, 85, 87, 87, 85, 89, 80, 30, 31, 42, > 43, 44, 20, 85, 14, 20, 50, 80, 80, 85, > 85, 14, 20, 50, 80, 80, 53, 62, 68, 85, > 87, 87, 42, 43, 89, 5, 6, 7, 74, 85, > 85, 85, 85, 85, 75, 76, 77, 85, 14, 50, > 80, 24, 56, 84, 80, 15, 51, 14, 50, 14, > 50, 79, 85, 56, 79, 15, 15, 85, 59, 68, > 80, 80, 7, 82, 82, 82, 82, 82, 9, 37, > 76, 85, 9, 24, 52, 78, 80, 80, 15, 24, > 84, 85, 51, 80, 80, 79, 79, 15, 82, 84, > 51, 68, 7, 4, 42, 43, 44, 37, 9, 78, > 46, 53, 15, 51, 85, 14, 50, 15, 51, 15, > 51, 85, 80, 85, 85, 85, 53, 24, 80, 85, > 14, 50, 80, 80, 14, 50, 5, 74, 80, 85, > 80, 80, 15, 51, 79, 79, 80, 15, 51, 15, > 51 >}; ># 1333 "y.tab.c" >static void >yydestruct (int yytype, YYSTYPE *yyvaluep) > > > > > > >{ > > (void) yyvaluep; > > switch (yytype) > { > > default: > break; > } >} ># 1364 "y.tab.c" >int yyparse (void); ># 1373 "y.tab.c" >int yychar; > > >YYSTYPE yylval; > > >int yynerrs; ># 1396 "y.tab.c" >int >yyparse (void) > > > > > > >{ > > register int yystate; > register int yyn; > int yyresult; > > int yyerrstatus; > > int yytoken = 0; ># 1423 "y.tab.c" > short yyssa[200]; > short *yyss = yyssa; > register short *yyssp; > > > YYSTYPE yyvsa[200]; > YYSTYPE *yyvs = yyvsa; > register YYSTYPE *yyvsp; > > > > > > unsigned int yystacksize = 200; > > > > YYSTYPE yyval; > > > > > int yylen; > > ; > > yystate = 0; > yyerrstatus = 0; > yynerrs = 0; > yychar = (-2); > > > > > > > yyssp = yyss; > yyvsp = yyvs; > > goto yysetstate; > > > > > yynewstate: > > > > yyssp++; > > yysetstate: > *yyssp = yystate; > > if (yyss + yystacksize - 1 <= yyssp) > { > > unsigned int yysize = yyssp - yyss + 1; ># 1508 "y.tab.c" > if (10000 <= yystacksize) > goto yyoverflowlab; > yystacksize *= 2; > if (10000 < yystacksize) > yystacksize = 10000; > > { > short *yyss1 = yyss; > union yyalloc *yyptr = > (union yyalloc *) __builtin_alloca (((yystacksize) * (sizeof (short) + sizeof (YYSTYPE)) + (sizeof (union yyalloc) - 1))); > if (! yyptr) > goto yyoverflowlab; > do { unsigned int yynewbytes; __builtin_memcpy (&yyptr->yyss, yyss, (yysize) * sizeof (*(yyss))); yyss = &yyptr->yyss; yynewbytes = yystacksize * sizeof (*yyss) + (sizeof (union yyalloc) - 1); yyptr += yynewbytes / sizeof (*yyptr); } while (0); > do { unsigned int yynewbytes; __builtin_memcpy (&yyptr->yyvs, yyvs, (yysize) * sizeof (*(yyvs))); yyvs = &yyptr->yyvs; yynewbytes = yystacksize * sizeof (*yyvs) + (sizeof (union yyalloc) - 1); yyptr += yynewbytes / sizeof (*yyptr); } while (0); > > > if (yyss1 != yyssa) > do { ; } while (0); > } > > > > yyssp = yyss + yysize - 1; > yyvsp = yyvs + yysize - 1; > > > ; > > > if (yyss + yystacksize - 1 <= yyssp) > goto yyabortlab; > } > > ; > > goto yybackup; > > > > >yybackup: > > > > > > > > yyn = yypact[yystate]; > if (yyn == -182) > goto yydefault; > > > > > if (yychar == (-2)) > { > ; > yychar = yylex (); > } > > if (yychar <= 0) > { > yychar = yytoken = 0; > ; > } > else > { > yytoken = ((unsigned int) (yychar) <= 297 ? yytranslate[yychar] : 2); > ; > } > > > > yyn += yytoken; > if (yyn < 0 || 602 < yyn || yycheck[yyn] != yytoken) > goto yydefault; > yyn = yytable[yyn]; > if (yyn <= 0) > { > if (yyn == 0 || yyn == -1) > goto yyerrlab; > yyn = -yyn; > goto yyreduce; > } > > if (yyn == 95) > goto yyacceptlab; > > > ; > > > if (yychar != 0) > yychar = (-2); > > *++yyvsp = yylval; > > > > > if (yyerrstatus) > yyerrstatus--; > > yystate = yyn; > goto yynewstate; > > > > > >yydefault: > yyn = yydefact[yystate]; > if (yyn == 0) > goto yyerrlab; > goto yyreduce; > > > > > >yyreduce: > > yylen = yyr2[yyn]; ># 1641 "y.tab.c" > yyval = yyvsp[1-yylen]; > > > ; > switch (yyn) > { > case 2: ># 327 "./parse.y" > { > > > global_command = yyvsp[-1].command; > eof_encountered = 0; > > goto yyacceptlab; > } > break; > > case 3: ># 336 "./parse.y" > { > > > global_command = (COMMAND *)((void *)0); > goto yyacceptlab; > } > break; > > case 4: ># 343 "./parse.y" > { > > global_command = (COMMAND *)((void *)0); > eof_encountered = 0; > > if (interactive) > { > goto yyacceptlab; > } > else > { > goto yyabortlab; > } > } > break; > > case 5: ># 358 "./parse.y" > { > > > global_command = (COMMAND *)((void *)0); > handle_eof_input_unit (); > goto yyacceptlab; > } > break; > > case 6: ># 368 "./parse.y" > { yyval.word_list = (WORD_LIST *)((void *)0); } > break; > > case 7: ># 370 "./parse.y" > { yyval.word_list = make_word_list (yyvsp[0].word, (WORD_LIST *)((void *)0)); } > break; > > case 8: ># 372 "./parse.y" > { yyval.word_list = make_word_list (yyvsp[0].word, yyvsp[-1].word_list); } > break; > > case 9: ># 376 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (1, r_output_direction, redir); > } > break; > > case 10: ># 381 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (0, r_input_direction, redir); > } > break; > > case 11: ># 386 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (yyvsp[-2].number, r_output_direction, redir); > } > break; > > case 12: ># 391 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (yyvsp[-2].number, r_input_direction, redir); > } > break; > > case 13: ># 396 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (1, r_appending_to, redir); > } > break; > > case 14: ># 401 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (yyvsp[-2].number, r_appending_to, redir); > } > break; > > case 15: ># 406 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (0, r_reading_until, redir); > redir_stack[need_here_doc++] = yyval.redirect; > } > break; > > case 16: ># 412 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (yyvsp[-2].number, r_reading_until, redir); > redir_stack[need_here_doc++] = yyval.redirect; > } > break; > > case 17: ># 418 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (0, r_reading_string, redir); > } > break; > > case 18: ># 423 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (yyvsp[-2].number, r_reading_string, redir); > } > break; > > case 19: ># 428 "./parse.y" > { > redir.dest = yyvsp[0].number; > yyval.redirect = make_redirection (0, r_duplicating_input, redir); > } > break; > > case 20: ># 433 "./parse.y" > { > redir.dest = yyvsp[0].number; > yyval.redirect = make_redirection (yyvsp[-2].number, r_duplicating_input, redir); > } > break; > > case 21: ># 438 "./parse.y" > { > redir.dest = yyvsp[0].number; > yyval.redirect = make_redirection (1, r_duplicating_output, redir); > } > break; > > case 22: ># 443 "./parse.y" > { > redir.dest = yyvsp[0].number; > yyval.redirect = make_redirection (yyvsp[-2].number, r_duplicating_output, redir); > } > break; > > case 23: ># 448 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (0, r_duplicating_input_word, redir); > } > break; > > case 24: ># 453 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (yyvsp[-2].number, r_duplicating_input_word, redir); > } > break; > > case 25: ># 458 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (1, r_duplicating_output_word, redir); > } > break; > > case 26: ># 463 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (yyvsp[-2].number, r_duplicating_output_word, redir); > } > break; > > case 27: ># 468 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection > (0, r_deblank_reading_until, redir); > redir_stack[need_here_doc++] = yyval.redirect; > } > break; > > case 28: ># 475 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection > (yyvsp[-2].number, r_deblank_reading_until, redir); > redir_stack[need_here_doc++] = yyval.redirect; > } > break; > > case 29: ># 482 "./parse.y" > { > redir.dest = 0; > yyval.redirect = make_redirection (1, r_close_this, redir); > } > break; > > case 30: ># 487 "./parse.y" > { > redir.dest = 0; > yyval.redirect = make_redirection (yyvsp[-2].number, r_close_this, redir); > } > break; > > case 31: ># 492 "./parse.y" > { > redir.dest = 0; > yyval.redirect = make_redirection (0, r_close_this, redir); > } > break; > > case 32: ># 497 "./parse.y" > { > redir.dest = 0; > yyval.redirect = make_redirection (yyvsp[-2].number, r_close_this, redir); > } > break; > > case 33: ># 502 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (1, r_err_and_out, redir); > } > break; > > case 34: ># 507 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (yyvsp[-2].number, r_input_output, redir); > } > break; > > case 35: ># 512 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (0, r_input_output, redir); > } > break; > > case 36: ># 517 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (1, r_output_force, redir); > } > break; > > case 37: ># 522 "./parse.y" > { > redir.filename = yyvsp[0].word; > yyval.redirect = make_redirection (yyvsp[-2].number, r_output_force, redir); > } > break; > > case 38: ># 529 "./parse.y" > { yyval.element.word = yyvsp[0].word; yyval.element.redirect = 0; } > break; > > case 39: ># 531 "./parse.y" > { yyval.element.word = yyvsp[0].word; yyval.element.redirect = 0; } > break; > > case 40: ># 533 "./parse.y" > { yyval.element.redirect = yyvsp[0].redirect; yyval.element.word = 0; } > break; > > case 41: ># 537 "./parse.y" > { > yyval.redirect = yyvsp[0].redirect; > } > break; > > case 42: ># 541 "./parse.y" > { > register REDIRECT *t; > > for (t = yyvsp[-1].redirect; t->next; t = t->next) > ; > t->next = yyvsp[0].redirect; > yyval.redirect = yyvsp[-1].redirect; > } > break; > > case 43: ># 552 "./parse.y" > { yyval.command = make_simple_command (yyvsp[0].element, (COMMAND *)((void *)0)); } > break; > > case 44: ># 554 "./parse.y" > { yyval.command = make_simple_command (yyvsp[0].element, yyvsp[-1].command); } > break; > > case 45: ># 558 "./parse.y" > { yyval.command = clean_simple_command (yyvsp[0].command); } > break; > > case 46: ># 560 "./parse.y" > { yyval.command = yyvsp[0].command; } > break; > > case 47: ># 562 "./parse.y" > { > COMMAND *tc; > > tc = yyvsp[-1].command; > if (tc->redirects) > { > register REDIRECT *t; > for (t = tc->redirects; t->next; t = t->next) > ; > t->next = yyvsp[0].redirect; > } > else > tc->redirects = yyvsp[0].redirect; > yyval.command = yyvsp[-1].command; > } > break; > > case 48: ># 578 "./parse.y" > { yyval.command = yyvsp[0].command; } > break; > > case 49: ># 582 "./parse.y" > { yyval.command = yyvsp[0].command; } > break; > > case 50: ># 584 "./parse.y" > { yyval.command = yyvsp[0].command; } > break; > > case 51: ># 586 "./parse.y" > { yyval.command = make_while_command (yyvsp[-3].command, yyvsp[-1].command); } > break; > > case 52: ># 588 "./parse.y" > { yyval.command = make_until_command (yyvsp[-3].command, yyvsp[-1].command); } > break; > > case 53: ># 590 "./parse.y" > { yyval.command = yyvsp[0].command; } > break; > > case 54: ># 592 "./parse.y" > { yyval.command = yyvsp[0].command; } > break; > > case 55: ># 594 "./parse.y" > { yyval.command = yyvsp[0].command; } > break; > > case 56: ># 596 "./parse.y" > { yyval.command = yyvsp[0].command; } > break; > > case 57: ># 598 "./parse.y" > { yyval.command = yyvsp[0].command; } > break; > > case 58: ># 600 "./parse.y" > { yyval.command = yyvsp[0].command; } > break; > > case 59: ># 602 "./parse.y" > { yyval.command = yyvsp[0].command; } > break; > > case 60: ># 606 "./parse.y" > { yyval.command = make_for_command (yyvsp[-4].word, make_word_list (make_word("\"$@\""), ((WORD_LIST *)((void *)0))), yyvsp[-1].command); } > break; > > case 61: ># 608 "./parse.y" > { yyval.command = make_for_command (yyvsp[-4].word, make_word_list (make_word("$@"), ((WORD_LIST *)((void *)0))), yyvsp[-1].command); } > break; > > case 62: ># 610 "./parse.y" > { yyval.command = make_for_command (yyvsp[-5].word, make_word_list (make_word("\"$@\""), ((WORD_LIST *)((void *)0))), yyvsp[-1].command); } > break; > > case 63: ># 612 "./parse.y" > { yyval.command = make_for_command (yyvsp[-5].word, make_word_list (make_word("\"$@\""), ((WORD_LIST *)((void *)0))), yyvsp[-1].command); } > break; > > case 64: ># 614 "./parse.y" > { yyval.command = make_for_command (yyvsp[-8].word, ((yyvsp[-5].word_list && yyvsp[-5].word_list->next) ? (WORD_LIST *)list_reverse ((GENERIC_LIST *)yyvsp[-5].word_list) : (WORD_LIST *)(yyvsp[-5].word_list)), yyvsp[-1].command); } > break; > > case 65: ># 616 "./parse.y" > { yyval.command = make_for_command (yyvsp[-8].word, ((yyvsp[-5].word_list && yyvsp[-5].word_list->next) ? (WORD_LIST *)list_reverse ((GENERIC_LIST *)yyvsp[-5].word_list) : (WORD_LIST *)(yyvsp[-5].word_list)), yyvsp[-1].command); } > break; > > case 66: ># 618 "./parse.y" > { yyval.command = make_for_command (yyvsp[-7].word, (WORD_LIST *)((void *)0), yyvsp[-1].command); } > break; > > case 67: ># 620 "./parse.y" > { yyval.command = make_for_command (yyvsp[-7].word, (WORD_LIST *)((void *)0), yyvsp[-1].command); } > break; > > case 68: ># 624 "./parse.y" > { yyval.command = make_arith_for_command (yyvsp[-5].word_list, yyvsp[-1].command, arith_for_lineno); } > break; > > case 69: ># 626 "./parse.y" > { yyval.command = make_arith_for_command (yyvsp[-5].word_list, yyvsp[-1].command, arith_for_lineno); } > break; > > case 70: ># 628 "./parse.y" > { yyval.command = make_arith_for_command (yyvsp[-3].word_list, yyvsp[-1].command, arith_for_lineno); } > break; > > case 71: ># 630 "./parse.y" > { yyval.command = make_arith_for_command (yyvsp[-3].word_list, yyvsp[-1].command, arith_for_lineno); } > break; > > case 72: ># 634 "./parse.y" > { > yyval.command = make_select_command (yyvsp[-4].word, make_word_list (make_word("\"$@\""), ((WORD_LIST *)((void *)0))), yyvsp[-1].command); > } > break; > > case 73: ># 638 "./parse.y" > { > yyval.command = make_select_command (yyvsp[-4].word, make_word_list (make_word("$@"), ((WORD_LIST *)((void *)0))), yyvsp[-1].command); > } > break; > > case 74: ># 642 "./parse.y" > { > yyval.command = make_select_command (yyvsp[-5].word, make_word_list (make_word("\"$@\""), ((WORD_LIST *)((void *)0))), yyvsp[-1].command); > } > break; > > case 75: ># 646 "./parse.y" > { > yyval.command = make_select_command (yyvsp[-5].word, make_word_list (make_word("\"$@\""), ((WORD_LIST *)((void *)0))), yyvsp[-1].command); > } > break; > > case 76: ># 650 "./parse.y" > { > yyval.command = make_select_command (yyvsp[-8].word, ((yyvsp[-5].word_list && yyvsp[-5].word_list->next) ? (WORD_LIST *)list_reverse ((GENERIC_LIST *)yyvsp[-5].word_list) : (WORD_LIST *)(yyvsp[-5].word_list)), yyvsp[-1].command); > } > break; > > case 77: ># 654 "./parse.y" > { > yyval.command = make_select_command (yyvsp[-8].word, ((yyvsp[-5].word_list && yyvsp[-5].word_list->next) ? (WORD_LIST *)list_reverse ((GENERIC_LIST *)yyvsp[-5].word_list) : (WORD_LIST *)(yyvsp[-5].word_list)), yyvsp[-1].command); > } > break; > > case 78: ># 660 "./parse.y" > { yyval.command = make_case_command (yyvsp[-4].word, (PATTERN_LIST *)((void *)0)); } > break; > > case 79: ># 662 "./parse.y" > { yyval.command = make_case_command (yyvsp[-5].word, yyvsp[-2].pattern); } > break; > > case 80: ># 664 "./parse.y" > { yyval.command = make_case_command (yyvsp[-4].word, yyvsp[-1].pattern); } > break; > > case 81: ># 668 "./parse.y" > { yyval.command = make_function_def (yyvsp[-4].word, yyvsp[0].command, function_dstart, function_bstart); } > break; > > case 82: ># 671 "./parse.y" > { yyval.command = make_function_def (yyvsp[-4].word, yyvsp[0].command, function_dstart, function_bstart); } > break; > > case 83: ># 674 "./parse.y" > { yyval.command = make_function_def (yyvsp[-2].word, yyvsp[0].command, function_dstart, function_bstart); } > break; > > case 84: ># 679 "./parse.y" > { yyval.command = yyvsp[0].command; } > break; > > case 85: ># 681 "./parse.y" > { > COMMAND *tc; > > tc = yyvsp[-1].command; ># 698 "./parse.y" > if (tc->redirects) > { > register REDIRECT *t; > for (t = tc->redirects; t->next; t = t->next) > ; > t->next = yyvsp[0].redirect; > } > else > tc->redirects = yyvsp[0].redirect; > yyval.command = yyvsp[-1].command; > } > break; > > case 86: ># 712 "./parse.y" > { > yyval.command = make_subshell_command (yyvsp[-1].command); > yyval.command->flags |= 0x01; > } > break; > > case 87: ># 719 "./parse.y" > { yyval.command = make_if_command (yyvsp[-3].command, yyvsp[-1].command, (COMMAND *)((void *)0)); } > break; > > case 88: ># 721 "./parse.y" > { yyval.command = make_if_command (yyvsp[-5].command, yyvsp[-3].command, yyvsp[-1].command); } > break; > > case 89: ># 723 "./parse.y" > { yyval.command = make_if_command (yyvsp[-4].command, yyvsp[-2].command, yyvsp[-1].command); } > break; > > case 90: ># 728 "./parse.y" > { yyval.command = make_group_command (yyvsp[-1].command); } > break; > > case 91: ># 732 "./parse.y" > { yyval.command = make_arith_command (yyvsp[0].word_list); } > break; > > case 92: ># 736 "./parse.y" > { yyval.command = yyvsp[-1].command; } > break; > > case 93: ># 740 "./parse.y" > { yyval.command = make_if_command (yyvsp[-2].command, yyvsp[0].command, (COMMAND *)((void *)0)); } > break; > > case 94: ># 742 "./parse.y" > { yyval.command = make_if_command (yyvsp[-4].command, yyvsp[-2].command, yyvsp[0].command); } > break; > > case 95: ># 744 "./parse.y" > { yyval.command = make_if_command (yyvsp[-3].command, yyvsp[-1].command, yyvsp[0].command); } > break; > > case 97: ># 749 "./parse.y" > { yyvsp[0].pattern->next = yyvsp[-1].pattern; yyval.pattern = yyvsp[0].pattern; } > break; > > case 98: ># 753 "./parse.y" > { yyval.pattern = make_pattern_list (yyvsp[-2].word_list, yyvsp[0].command); } > break; > > case 99: ># 755 "./parse.y" > { yyval.pattern = make_pattern_list (yyvsp[-2].word_list, (COMMAND *)((void *)0)); } > break; > > case 100: ># 757 "./parse.y" > { yyval.pattern = make_pattern_list (yyvsp[-2].word_list, yyvsp[0].command); } > break; > > case 101: ># 759 "./parse.y" > { yyval.pattern = make_pattern_list (yyvsp[-2].word_list, (COMMAND *)((void *)0)); } > break; > > case 103: ># 764 "./parse.y" > { yyvsp[-1].pattern->next = yyvsp[-2].pattern; yyval.pattern = yyvsp[-1].pattern; } > break; > > case 104: ># 768 "./parse.y" > { yyval.word_list = make_word_list (yyvsp[0].word, (WORD_LIST *)((void *)0)); } > break; > > case 105: ># 770 "./parse.y" > { yyval.word_list = make_word_list (yyvsp[0].word, yyvsp[-2].word_list); } > break; > > case 106: ># 779 "./parse.y" > { > yyval.command = yyvsp[0].command; > if (need_here_doc) > gather_here_documents (); > } > break; > > case 108: ># 788 "./parse.y" > { > yyval.command = yyvsp[0].command; > } > break; > > case 110: ># 795 "./parse.y" > { > if (yyvsp[-2].command->type == cm_connection) > yyval.command = connect_async_list (yyvsp[-2].command, (COMMAND *)((void *)0), '&'); > else > yyval.command = command_connect (yyvsp[-2].command, (COMMAND *)((void *)0), '&'); > } > break; > > case 112: ># 806 "./parse.y" > { yyval.command = command_connect (yyvsp[-3].command, yyvsp[0].command, 285); } > break; > > case 113: ># 808 "./parse.y" > { yyval.command = command_connect (yyvsp[-3].command, yyvsp[0].command, 286); } > break; > > case 114: ># 810 "./parse.y" > { > if (yyvsp[-3].command->type == cm_connection) > yyval.command = connect_async_list (yyvsp[-3].command, yyvsp[0].command, '&'); > else > yyval.command = command_connect (yyvsp[-3].command, yyvsp[0].command, '&'); > } > break; > > case 115: ># 817 "./parse.y" > { yyval.command = command_connect (yyvsp[-3].command, yyvsp[0].command, ';'); } > break; > > case 116: ># 819 "./parse.y" > { yyval.command = command_connect (yyvsp[-3].command, yyvsp[0].command, ';'); } > break; > > case 117: ># 821 "./parse.y" > { yyval.command = yyvsp[0].command; } > break; > > case 125: ># 844 "./parse.y" > { > yyval.command = yyvsp[0].command; > if (need_here_doc) > gather_here_documents (); > } > break; > > case 126: ># 850 "./parse.y" > { > if (yyvsp[-1].command->type == cm_connection) > yyval.command = connect_async_list (yyvsp[-1].command, (COMMAND *)((void *)0), '&'); > else > yyval.command = command_connect (yyvsp[-1].command, (COMMAND *)((void *)0), '&'); > if (need_here_doc) > gather_here_documents (); > } > break; > > case 127: ># 859 "./parse.y" > { > yyval.command = yyvsp[-1].command; > if (need_here_doc) > gather_here_documents (); > } > break; > > case 128: ># 867 "./parse.y" > { yyval.command = command_connect (yyvsp[-3].command, yyvsp[0].command, 285); } > break; > > case 129: ># 869 "./parse.y" > { yyval.command = command_connect (yyvsp[-3].command, yyvsp[0].command, 286); } > break; > > case 130: ># 871 "./parse.y" > { > if (yyvsp[-2].command->type == cm_connection) > yyval.command = connect_async_list (yyvsp[-2].command, yyvsp[0].command, '&'); > else > yyval.command = command_connect (yyvsp[-2].command, yyvsp[0].command, '&'); > } > break; > > case 131: ># 878 "./parse.y" > { yyval.command = command_connect (yyvsp[-2].command, yyvsp[0].command, ';'); } > break; > > case 132: ># 881 "./parse.y" > { yyval.command = yyvsp[0].command; } > break; > > case 133: ># 885 "./parse.y" > { yyval.command = yyvsp[0].command; } > break; > > case 134: ># 887 "./parse.y" > { > yyvsp[0].command->flags |= 0x04; > yyval.command = yyvsp[0].command; > } > break; > > case 135: ># 892 "./parse.y" > { > yyvsp[0].command->flags |= yyvsp[-1].number; > yyval.command = yyvsp[0].command; > } > break; > > case 136: ># 897 "./parse.y" > { > yyvsp[0].command->flags |= yyvsp[-2].number|0x04; > yyval.command = yyvsp[0].command; > } > break; > > case 137: ># 902 "./parse.y" > { > yyvsp[0].command->flags |= yyvsp[-1].number|0x04; > yyval.command = yyvsp[0].command; > } > break; > > case 138: ># 910 "./parse.y" > { yyval.command = command_connect (yyvsp[-3].command, yyvsp[0].command, '|'); } > break; > > case 139: ># 912 "./parse.y" > { yyval.command = yyvsp[0].command; } > break; > > case 140: ># 916 "./parse.y" > { yyval.number = 0x80; } > break; > > case 141: ># 918 "./parse.y" > { yyval.number = 0x80|0x100; } > break; > > > } ># 2529 "y.tab.c" > > yyvsp -= yylen; > yyssp -= yylen; > > > ; > > *++yyvsp = yyval; > > > > > > > yyn = yyr1[yyn]; > > yystate = yypgoto[yyn - 54] + *yyssp; > if (0 <= yystate && yystate <= 602 && yycheck[yystate] == *yyssp) > yystate = yytable[yystate]; > else > yystate = yydefgoto[yyn - 54]; > > goto yynewstate; > > > > > >yyerrlab: > > if (!yyerrstatus) > { > ++yynerrs; ># 2609 "y.tab.c" > yyerror ("syntax error"); > } > > > > if (yyerrstatus == 3) > { > > > > > if (yychar == 0) > { > > (yyvsp--, yyssp--); > > while (yyss < yyssp) > { > ; > yydestruct (yystos[*yyssp], yyvsp); > (yyvsp--, yyssp--); > } > goto yyabortlab; > } > > ; > yydestruct (yytoken, &yylval); > yychar = (-2); > > } > > > > goto yyerrlab1; > > > > > >yyerrlab1: > yyerrstatus = 3; > > for (;;) > { > yyn = yypact[yystate]; > if (yyn != -182) > { > yyn += 1; > if (0 <= yyn && yyn <= 602 && yycheck[yyn] == 1) > { > yyn = yytable[yyn]; > if (0 < yyn) > break; > } > } > > > if (yyssp == yyss) > goto yyabortlab; > > ; > yydestruct (yystos[yystate], yyvsp); > yyvsp--; > yystate = *--yyssp; > > ; > } > > if (yyn == 95) > goto yyacceptlab; > > ; > > *++yyvsp = yylval; > > > yystate = yyn; > goto yynewstate; > > > > > >yyacceptlab: > yyresult = 0; > goto yyreturn; > > > > >yyabortlab: > yyresult = 1; > goto yyreturn; > > > > > >yyoverflowlab: > yyerror ("parser stack overflow"); > yyresult = 2; > > > >yyreturn: > > if (yyss != yyssa) > do { ; } while (0); > > return yyresult; >} ># 920 "./parse.y" ># 941 "./parse.y" >static int current_token; > > > >static int last_read_token; > > >static int token_before_that; > > >static int two_tokens_ago; > > > > > >static int token_to_read; >static WORD_DESC *word_desc_to_read; > > >static int parser_state; > > >int EOF_Reached = 0; ># 986 "./parse.y" >int >return_EOF () >{ > return ((-1)); >} > > > >BASH_INPUT bash_input; > > > >void >initialize_bash_input () >{ > bash_input.type = st_none; > do { if (bash_input.name) free (bash_input.name); } while (0); > bash_input.name = (char *)((void *)0); > bash_input.location.file = (FILE *)((void *)0); > bash_input.location.string = (char *)((void *)0); > bash_input.getter = (sh_cget_func_t *)((void *)0); > bash_input.ungetter = (sh_cunget_func_t *)((void *)0); >} > > > >void >init_yy_io (get, unget, type, name, location) > sh_cget_func_t *get; > sh_cunget_func_t *unget; > enum stream_type type; > const char *name; > INPUT_STREAM location; >{ > bash_input.type = type; > do { if (bash_input.name) free (bash_input.name); } while (0); > bash_input.name = name ? (char *)strcpy (xmalloc (1 + strlen (name)), (name)) : (char *)((void *)0); > > > > > > bash_input.location = location; > > bash_input.getter = get; > bash_input.ungetter = unget; >} > >char * >yy_input_name () >{ > return (bash_input.name ? bash_input.name : "stdin"); >} > > >static int >yy_getc () >{ > return (*(bash_input.getter)) (); >} > > > >static int >yy_ungetc (c) > int c; >{ > return (*(bash_input.ungetter)) (c); >} ># 1082 "./parse.y" >char *current_readline_prompt = (char *)((void *)0); >unsigned char *current_readline_line = (unsigned char *)((void *)0); >int current_readline_line_index = 0; > >static int >yy_readline_get () >{ > SigHandler *old_sigint; > int line_len; > unsigned char c; > > if (!current_readline_line) > { > if (!bash_readline_initialized) > initialize_readline (); > > > if (job_control) > give_terminal_to (shell_pgrp, 0); > > > old_sigint = (SigHandler *)((void *)0); > if (signal_is_ignored (2) == 0) > { > old_sigint = (SigHandler *)set_signal_handler (2, sigint_sighandler); > interrupt_immediately++; > } > > current_readline_line = readline (current_readline_prompt ? > current_readline_prompt : ""); > > if (signal_is_ignored (2) == 0 && old_sigint) > { > interrupt_immediately--; > set_signal_handler (2, old_sigint); > } > > > > > > > if (current_readline_line == 0) > return ((-1)); > > current_readline_line_index = 0; > line_len = strlen (current_readline_line); > > current_readline_line = (char *)xrealloc (current_readline_line, 2 + line_len); > current_readline_line[line_len++] = '\n'; > current_readline_line[line_len] = '\0'; > } > > if (current_readline_line[current_readline_line_index] == 0) > { > free (current_readline_line); > current_readline_line = (char *)((void *)0); > return (yy_readline_get ()); > } > else > { > c = current_readline_line[current_readline_line_index++]; > return (c); > } >} > >static int >yy_readline_unget (c) > int c; >{ > if (current_readline_line_index && current_readline_line) > current_readline_line[--current_readline_line_index] = c; > return (c); >} > >void >with_input_from_stdin () >{ > INPUT_STREAM location; > > if (bash_input.type != st_stdin && stream_on_stack (st_stdin) == 0) > { > location.string = current_readline_line; > init_yy_io (yy_readline_get, yy_readline_unget, > st_stdin, "readline stdin", location); > } >} ># 1185 "./parse.y" >static int >yy_string_get () >{ > register char *string; > register unsigned char c; > > string = bash_input.location.string; > > > if (string && *string) > { > c = *string++; > bash_input.location.string = string; > return (c); > } > else > return ((-1)); >} > >static int >yy_string_unget (c) > int c; >{ > *(--bash_input.location.string) = c; > return (c); >} > >void >with_input_from_string (string, name) > char *string; > const char *name; >{ > INPUT_STREAM location; > > location.string = string; > init_yy_io (yy_string_get, yy_string_unget, st_string, name, location); >} ># 1235 "./parse.y" >static int >yy_stream_get () >{ > int result; > > result = (-1); > if (bash_input.location.file) > result = getc_with_restart (bash_input.location.file); > > return (result); >} > >static int >yy_stream_unget (c) > int c; >{ > return (ungetc_with_restart (c, bash_input.location.file)); >} > >void >with_input_from_stream (stream, name) > FILE *stream; > const char *name; >{ > INPUT_STREAM location; > > location.file = stream; > init_yy_io (yy_stream_get, yy_stream_unget, st_stream, name, location); >} > >typedef struct stream_saver { > struct stream_saver *next; > BASH_INPUT bash_input; > int line; > > BUFFERED_STREAM *bstream; > >} STREAM_SAVER; > > >int line_number = 0; > > >static int cond_lineno; >static int cond_token; > > >STREAM_SAVER *stream_list = (STREAM_SAVER *)((void *)0); > >void >push_stream (reset_lineno) > int reset_lineno; >{ > STREAM_SAVER *saver = (STREAM_SAVER *)xmalloc (sizeof (STREAM_SAVER)); > > xbcopy ((char *)&bash_input, (char *)&(saver->bash_input), sizeof (BASH_INPUT)); > > > saver->bstream = (BUFFERED_STREAM *)((void *)0); > > if (bash_input.type == st_bstream && bash_input.location.buffered_fd >= 0) > saver->bstream = set_buffered_stream (bash_input.location.buffered_fd, > (BUFFERED_STREAM *)((void *)0)); > > > saver->line = line_number; > bash_input.name = (char *)((void *)0); > saver->next = stream_list; > stream_list = saver; > EOF_Reached = 0; > if (reset_lineno) > line_number = 0; >} > >void >pop_stream () >{ > if (!stream_list) > EOF_Reached = 1; > else > { > STREAM_SAVER *saver = stream_list; > > EOF_Reached = 0; > stream_list = stream_list->next; > > init_yy_io (saver->bash_input.getter, > saver->bash_input.ungetter, > saver->bash_input.type, > saver->bash_input.name, > saver->bash_input.location); > > > > > > > if (bash_input.type == st_bstream && bash_input.location.buffered_fd >= 0) > { > if (bash_input_fd_changed) > { > bash_input_fd_changed = 0; > if (default_buffered_input >= 0) > { > bash_input.location.buffered_fd = default_buffered_input; > saver->bstream->b_fd = default_buffered_input; > (fcntl ((default_buffered_input), 2, 1)); > } > } > > set_buffered_stream (bash_input.location.buffered_fd, saver->bstream); > } > > > line_number = saver->line; > > do { if (saver->bash_input.name) free (saver->bash_input.name); } while (0); > free (saver); > } >} > > >int >stream_on_stack (type) > enum stream_type type; >{ > register STREAM_SAVER *s; > > for (s = stream_list; s; s = s->next) > if (s->bash_input.type == type) > return 1; > return 0; >} > > >int * >save_token_state () >{ > int *ret; > > ret = (int *)xmalloc (3 * sizeof (int)); > ret[0] = last_read_token; > ret[1] = token_before_that; > ret[2] = two_tokens_ago; > return ret; >} > >void >restore_token_state (ts) > int *ts; >{ > if (ts == 0) > return; > last_read_token = ts[0]; > token_before_that = ts[1]; > two_tokens_ago = ts[2]; >} ># 1419 "./parse.y" >typedef struct string_saver { > struct string_saver *next; > int expand_alias; > char *saved_line; > > alias_t *expander; > > int saved_line_size, saved_line_index, saved_line_terminator; >} STRING_SAVER; > >STRING_SAVER *pushed_string_list = (STRING_SAVER *)((void *)0); ># 1439 "./parse.y" >static void >push_string (s, expand, ap) > char *s; > int expand; > alias_t *ap; >{ > STRING_SAVER *temp = (STRING_SAVER *)xmalloc (sizeof (STRING_SAVER)); > > temp->expand_alias = expand; > temp->saved_line = shell_input_line; > temp->saved_line_size = shell_input_line_size; > temp->saved_line_index = shell_input_line_index; > temp->saved_line_terminator = shell_input_line_terminator; > > temp->expander = ap; > > temp->next = pushed_string_list; > pushed_string_list = temp; > > > if (ap) > ap->flags |= 0x2; > > > shell_input_line = s; > shell_input_line_size = strlen (s); > shell_input_line_index = 0; > shell_input_line_terminator = '\0'; > parser_state &= ~0x002; > > set_line_mbstate (); >} > > > > > > > >static void >pop_string () >{ > STRING_SAVER *t; > > do { if (shell_input_line) free (shell_input_line); } while (0); > shell_input_line = pushed_string_list->saved_line; > shell_input_line_index = pushed_string_list->saved_line_index; > shell_input_line_size = pushed_string_list->saved_line_size; > shell_input_line_terminator = pushed_string_list->saved_line_terminator; > > if (pushed_string_list->expand_alias) > parser_state |= 0x002; > else > parser_state &= ~0x002; > > t = pushed_string_list; > pushed_string_list = pushed_string_list->next; > > > if (t->expander) > t->expander->flags &= ~0x2; > > > free ((char *)t); > > set_line_mbstate (); >} > >static void >free_string_list () >{ > register STRING_SAVER *t, *t1; > > for (t = pushed_string_list; t; ) > { > t1 = t->next; > do { if (t->saved_line) free (t->saved_line); } while (0); > > if (t->expander) > t->expander->flags &= ~0x2; > > free ((char *)t); > t = t1; > } > pushed_string_list = (STRING_SAVER *)((void *)0); >} > > > > > > > >static char * >read_a_line (remove_quoted_newline) > int remove_quoted_newline; >{ > static char *line_buffer = (char *)((void *)0); > static int buffer_size = 0; > int indx = 0, c, peekc, pass_next; > > > if (interactive && bash_input.type != st_string && no_line_editing) > > > > print_prompt (); > > pass_next = 0; > while (1) > { > c = yy_getc (); > > > if (interrupt_state) throw_to_top_level (); > > > if (c == 0) > { > > > > continue; > } > > > if (c == (-1)) > { > if (interactive && bash_input.type == st_stream) > clearerr (stdin); > if (indx == 0) > return ((char *)((void *)0)); > c = '\n'; > } > > > do { if ((indx) + (2) >= buffer_size) { while ((indx) + (2) >= buffer_size) buffer_size += (128); line_buffer = xrealloc (line_buffer, buffer_size); } } while (0); > > > > > > > > if (pass_next) > { > line_buffer[indx++] = c; > pass_next = 0; > } > else if (c == '\\' && remove_quoted_newline) > { > peekc = yy_getc (); > if (peekc == '\n') > continue; > else > { > yy_ungetc (peekc); > pass_next = 1; > line_buffer[indx++] = c; > } > } > else > line_buffer[indx++] = c; > > if (c == '\n') > { > line_buffer[indx] = '\0'; > return (line_buffer); > } > } >} > > > > > > >char * >read_secondary_line (remove_quoted_newline) > int remove_quoted_newline; >{ > prompt_string_pointer = &ps2_prompt; > prompt_again (); > return (read_a_line (remove_quoted_newline)); >} ># 1633 "./parse.y" >STRING_INT_ALIST word_token_alist[] = { > { "if", 258 }, > { "then", 259 }, > { "else", 260 }, > { "elif", 261 }, > { "fi", 262 }, > { "case", 263 }, > { "esac", 264 }, > { "for", 265 }, > > { "select", 266 }, > > { "while", 267 }, > { "until", 268 }, > { "do", 269 }, > { "done", 270 }, > { "in", 275 }, > { "function", 271 }, > > { "time", 277 }, > > { "{", '{' }, > { "}", '}' }, > { "!", 276 }, > > { "[[", 272 }, > { "]]", 273 }, > > { (char *)((void *)0), 0} >}; > > >STRING_INT_ALIST other_token_alist[] = { > > { "-p", 278 }, > { "&&", 285 }, > { "||", 286 }, > { ">>", 287 }, > { "<<", 288 }, > { "<&", 289 }, > { ">&", 291 }, > { ";;", 292 }, > { "<<-", 293 }, > { "<<<", 290 }, > { "&>", 294 }, > { "<>", 295 }, > { ">|", 296 }, > { "EOF", 297 }, > > { ">", '>' }, > { "<", '<' }, > { "-", '-' }, > { "{", '{' }, > { "}", '}' }, > { ";", ';' }, > { "(", '(' }, > { ")", ')' }, > { "|", '|' }, > { "&", '&' }, > { "newline", '\n' }, > { (char *)((void *)0), 0} >}; ># 1709 "./parse.y" >struct dstack dstack = { (char *)((void *)0), 0, 0 }; > > > > >static struct dstack temp_dstack = { (char *)((void *)0), 0, 0 }; ># 1742 "./parse.y" >static int eol_ungetc_lookahead = 0; > >static int >shell_getc (remove_quoted_newline) > int remove_quoted_newline; >{ > register int i; > int c; > unsigned char uc; > static int mustpop = 0; > > if (interrupt_state) throw_to_top_level (); > > if (eol_ungetc_lookahead) > { > c = eol_ungetc_lookahead; > eol_ungetc_lookahead = 0; > return (c); > } > > > > > > > if (!shell_input_line || ((!shell_input_line[shell_input_line_index]) && > (pushed_string_list == (STRING_SAVER *)((void *)0)))) > > > > { > line_number++; > > restart_read: > > > if (interrupt_state) throw_to_top_level (); > > i = 0; > shell_input_line_terminator = 0; > > > > > > > notify_and_cleanup (); > > > > > > if (interactive && bash_input.type != st_string && no_line_editing) > > > > print_prompt (); > > if (bash_input.type == st_stream) > clearerr (stdin); > > while (1) > { > c = yy_getc (); > > > if (interrupt_state) throw_to_top_level (); > > if (c == '\0') > { > > > > continue; > } > > do { if ((i) + (2) >= shell_input_line_size) { while ((i) + (2) >= shell_input_line_size) shell_input_line_size += (256); shell_input_line = xrealloc (shell_input_line, shell_input_line_size); } } while (0); > > if (c == (-1)) > { > if (bash_input.type == st_stream) > clearerr (stdin); > > if (i == 0) > shell_input_line_terminator = (-1); > > shell_input_line[i] = '\0'; > break; > } > > shell_input_line[i++] = c; > > if (c == '\n') > { > shell_input_line[--i] = '\0'; > current_command_line_count++; > break; > } > } > > shell_input_line_index = 0; > shell_input_line_len = i; > > set_line_mbstate (); > > > if (remember_on_history && shell_input_line && shell_input_line[0]) > { > char *expansions; > > int old_hist; > > > > > old_hist = history_expansion_inhibited; > if ((dstack.delimiter_depth ? dstack.delimiters[dstack.delimiter_depth - 1] : 0) == '\'') > history_expansion_inhibited = 1; > > expansions = pre_process_line (shell_input_line, 1, 1); > > history_expansion_inhibited = old_hist; > > if (expansions != shell_input_line) > { > free (shell_input_line); > shell_input_line = expansions; > shell_input_line_len = shell_input_line ? > strlen (shell_input_line) : 0; > if (!shell_input_line_len) > current_command_line_count--; > > > > shell_input_line_size = shell_input_line_len; > > set_line_mbstate (); > } > } > > > else if (remember_on_history && shell_input_line && > shell_input_line[0] == '\0' && > current_command_line_count > 1) > { > if ((dstack.delimiter_depth ? dstack.delimiters[dstack.delimiter_depth - 1] : 0)) > > > > > maybe_add_history (shell_input_line); > else > { > char *hdcs; > hdcs = history_delimiting_chars (); > if (hdcs && hdcs[0] == ';') > maybe_add_history (shell_input_line); > } > } > > > > if (shell_input_line) > { > > > if (echo_input_at_read && (shell_input_line[0] || > shell_input_line_terminator != (-1))) > fprintf (stderr, "%s\n", shell_input_line); > } > else > { > shell_input_line_size = 0; > prompt_string_pointer = ¤t_prompt_string; > prompt_again (); > goto restart_read; > } > > > > if (shell_input_line_terminator != (-1)) > { > if (shell_input_line_len + 3 > shell_input_line_size) > shell_input_line = (char *)xrealloc (shell_input_line, > 1 + (shell_input_line_size += 2)); > > shell_input_line[shell_input_line_len] = '\n'; > shell_input_line[shell_input_line_len + 1] = '\0'; > > set_line_mbstate (); > } > } > > uc = shell_input_line[shell_input_line_index]; > > if (uc) > shell_input_line_index++; > > if ((uc == '\\' && remove_quoted_newline && shell_input_line[shell_input_line_index] == '\n') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > prompt_again (); > line_number++; > goto restart_read; > } > > > > > > > > if (!uc && (pushed_string_list != (STRING_SAVER *)((void *)0))) > { > if (mustpop) > { > pop_string (); > uc = shell_input_line[shell_input_line_index]; > if (uc) > shell_input_line_index++; > mustpop--; > } > else > { > mustpop++; > uc = ' '; > } > } > > > if (!uc && shell_input_line_terminator == (-1)) > return ((shell_input_line_index != 0) ? '\n' : (-1)); > > return (uc); >} > > > > > > >static void >shell_ungetc (c) > int c; >{ > if (shell_input_line && shell_input_line_index) > shell_input_line[--shell_input_line_index] = c; > else > eol_ungetc_lookahead = c; >} ># 2004 "./parse.y" >static void >discard_until (character) > int character; >{ > int c; > > while ((c = shell_getc (0)) != (-1) && c != character) > ; > > if (c != (-1)) > shell_ungetc (c); >} > >void >execute_prompt_command (command) > char *command; >{ > sh_builtin_func_t *temp_last, *temp_this; > char *last_lastarg; > int temp_exit_value, temp_eof_encountered; > > temp_last = last_shell_builtin; > temp_this = this_shell_builtin; > temp_exit_value = last_command_exit_value; > temp_eof_encountered = eof_encountered; > last_lastarg = get_string_value ("_"); > if (last_lastarg) > last_lastarg = (char *)strcpy (xmalloc (1 + strlen (last_lastarg)), (last_lastarg)); > > parse_and_execute ((char *)strcpy (xmalloc (1 + strlen (command)), (command)), "PROMPT_COMMAND", 0x001|0x004); > > last_shell_builtin = temp_last; > this_shell_builtin = temp_this; > last_command_exit_value = temp_exit_value; > eof_encountered = temp_eof_encountered; > > bind_variable ("_", last_lastarg); > do { if (last_lastarg) free (last_lastarg); } while (0); > > if (token_to_read == '\n') > token_to_read = 0; >} > > > >static char *token = (char *)((void *)0); > > >static int token_buffer_size; ># 2062 "./parse.y" >static int >yylex () >{ > if (interactive && (current_token == 0 || current_token == '\n')) > { > > > > > if ((!prompt_string_pointer || prompt_string_pointer == &ps1_prompt) && time_to_check_mail ()) > { > check_mail (); > reset_mail_timer (); > } > > > > if (token_to_read == 0 && interactive) > prompt_again (); > } > > two_tokens_ago = token_before_that; > token_before_that = last_read_token; > last_read_token = current_token; > current_token = read_token (0); > return (current_token); >} > > > >static int esacs_needed_count; > >void >gather_here_documents () >{ > int r = 0; > while (need_here_doc) > { > make_here_document (redir_stack[r++]); > need_here_doc--; > } >} > > > >static int open_brace_count; ># 2162 "./parse.y" >static int >alias_expand_token (tokstr) > char *tokstr; >{ > char *expanded; > alias_t *ap; > > if (((parser_state & 0x002) || (((last_read_token) == 280) || ((last_read_token) != 292 && reserved_word_acceptable(last_read_token)))) && > (parser_state & 0x001) == 0) > { > ap = find_alias (tokstr); > > > if (ap && (ap->flags & 0x2)) > return (-100); > > expanded = ap ? (char *)strcpy (xmalloc (1 + strlen (ap->value)), (ap->value)) : (char *)((void *)0); > if (expanded) > { > push_string (expanded, ap->flags & 0x1, ap); > return (-99); > } > else > > return (-100); > } > return (-100); >} > > >static int >time_command_acceptable () >{ > > switch (last_read_token) > { > case 0: > case ';': > case '\n': > case 285: > case 286: > case '&': > case 269: > case 259: > case 260: > case '{': > case '(': > return 1; > default: > return 0; > } > > > >} ># 2243 "./parse.y" >static int >special_case_tokens (tokstr) > char *tokstr; >{ > if ((last_read_token == 279) && > > ((token_before_that == 265) || (token_before_that == 263) || (token_before_that == 266)) && > > > > (tokstr[0] == 'i' && tokstr[1] == 'n' && tokstr[2] == 0)) > { > if (token_before_that == 263) > { > parser_state |= 0x001; > esacs_needed_count++; > } > return (275); > } > > if (last_read_token == 279 && > > (token_before_that == 265 || token_before_that == 266) && > > > > (tokstr[0] == 'd' && tokstr[1] == 'o' && tokstr[2] == '\0')) > return (269); > > > > > > > > if (esacs_needed_count) > { > esacs_needed_count--; > if (((tokstr)[0] == ("esac")[0] && __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (tokstr) && __builtin_constant_p ("esac") && (__s1_len = strlen (tokstr), __s2_len = strlen ("esac"), (!((size_t)(const void *)((tokstr) + 1) - (size_t)(const void *)(tokstr) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("esac") + 1) - (size_t)(const void *)("esac") == 1) || __s2_len >= 4)) ? __builtin_strcmp (tokstr, "esac") : (__builtin_constant_p (tokstr) && ((size_t)(const void *)((tokstr) + 1) - (size_t)(const void *)(tokstr) == 1) && (__s1_len = strlen (tokstr), __s1_len < 4) ? (__builtin_constant_p ("esac") && ((size_t)(const void *)(("esac") + 1) - (size_t)(const void *)("esac") == 1) ? __builtin_strcmp (tokstr, "esac") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("esac"); register int __result = (((__const unsigned char *) (__const char *) (tokstr))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (tokstr))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (tokstr))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (tokstr))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("esac") && ((size_t)(const void *)(("esac") + 1) - (size_t)(const void *)("esac") == 1) && (__s2_len = strlen ("esac"), __s2_len < 4) ? (__builtin_constant_p (tokstr) && ((size_t)(const void *)((tokstr) + 1) - (size_t)(const void *)(tokstr) == 1) ? __builtin_strcmp (tokstr, "esac") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (tokstr); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("esac"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("esac"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("esac"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("esac"))[3]); } } __result; }))) : __builtin_strcmp (tokstr, "esac")))); }) == 0)) > { > parser_state &= ~0x001; > return (264); > } > } > > > if (parser_state & 0x004) > { > parser_state &= ~0x004; > if (tokstr[0] == '{' && tokstr[1] == '\0') > { > open_brace_count++; > function_bstart = line_number; > return ('{'); > } > } > > > > if (last_read_token == 283 && tokstr[0] == 'd' && tokstr[1] == 'o' && !tokstr[2]) > return (269); > if (last_read_token == 283 && tokstr[0] == '{' && tokstr[1] == '\0') > { > open_brace_count++; > return ('{'); > } > > if (open_brace_count && reserved_word_acceptable (last_read_token) && tokstr[0] == '}' && !tokstr[1]) > { > open_brace_count--; > return ('}'); > } > > > > if (last_read_token == 277 && tokstr[0] == '-' && tokstr[1] == 'p' && !tokstr[2]) > return (278); > > > > if (((token)[0] == ("time")[0] && __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (token) && __builtin_constant_p ("time") && (__s1_len = strlen (token), __s2_len = strlen ("time"), (!((size_t)(const void *)((token) + 1) - (size_t)(const void *)(token) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("time") + 1) - (size_t)(const void *)("time") == 1) || __s2_len >= 4)) ? __builtin_strcmp (token, "time") : (__builtin_constant_p (token) && ((size_t)(const void *)((token) + 1) - (size_t)(const void *)(token) == 1) && (__s1_len = strlen (token), __s1_len < 4) ? (__builtin_constant_p ("time") && ((size_t)(const void *)(("time") + 1) - (size_t)(const void *)("time") == 1) ? __builtin_strcmp (token, "time") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("time"); register int __result = (((__const unsigned char *) (__const char *) (token))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (token))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (token))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (token))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("time") && ((size_t)(const void *)(("time") + 1) - (size_t)(const void *)("time") == 1) && (__s2_len = strlen ("time"), __s2_len < 4) ? (__builtin_constant_p (token) && ((size_t)(const void *)((token) + 1) - (size_t)(const void *)(token) == 1) ? __builtin_strcmp (token, "time") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (token); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("time"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("time"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("time"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("time"))[3]); } } __result; }))) : __builtin_strcmp (token, "time")))); }) == 0) && ((parser_state & 0x001) == 0) && time_command_acceptable ()) > return (277); > > > > if ((parser_state & 0x200) && tokstr[0] == ']' && tokstr[1] == ']' && tokstr[2] == '\0') > return (273); > > > return (-1); >} > > > >void >reset_parser () >{ > dstack.delimiter_depth = 0; > open_brace_count = 0; > > parser_state = 0; > > > if (pushed_string_list) > free_string_list (); > > > if (shell_input_line) > { > free (shell_input_line); > shell_input_line = (char *)((void *)0); > shell_input_line_size = shell_input_line_index = 0; > } > > do { if (word_desc_to_read) free (word_desc_to_read); } while (0); > word_desc_to_read = (WORD_DESC *)((void *)0); > > last_read_token = '\n'; > token_to_read = '\n'; >} > > > >static int >read_token (command) > int command; >{ > int character; > int peek_char; > int result; > > if (command == 1) > { > reset_parser (); > return ('\n'); > } > > if (token_to_read) > { > result = token_to_read; > if (token_to_read == 279 || token_to_read == 280) > { > yylval.word = word_desc_to_read; > word_desc_to_read = (WORD_DESC *)((void *)0); > } > token_to_read = 0; > return (result); > } > > > if ((parser_state & (0x100|0x200)) == 0x100) > { > cond_lineno = line_number; > parser_state |= 0x200; > yylval.command = parse_cond_command (); > if (cond_token != 273) > { > cond_error (); > return (-1); > } > token_to_read = 273; > parser_state &= ~(0x200|0x100); > return (284); > } > > > > > > re_read_token: > > > > while ((character = shell_getc (1)) != (-1) && (((character) == ' ') || ((character) == '\t'))) > ; > > if (character == (-1)) > { > EOF_Reached = 1; > return (297); > } > > if ((character == '#' && (!interactive || interactive_comments)) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > > discard_until ('\n'); > shell_getc (0); > character = '\n'; > } > > if (character == '\n') > { > > > if (need_here_doc) > gather_here_documents (); > > > parser_state &= ~0x002; > > > return (character); > } > > > if (((sh_syntaxtab[(unsigned char)(character)] & 0x0001) && ((parser_state & 0x010) == 0)) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > > > > if (character == '<' || character == '>') > parser_state &= ~0x002; > > > peek_char = shell_getc (1); > if (character == peek_char) > { > switch (character) > { > case '<': > > > peek_char = shell_getc (1); > if (peek_char == '-') > return (293); > else if (peek_char == '<') > return (290); > else > { > shell_ungetc (peek_char); > return (288); > } > > case '>': > return (287); > > case ';': > parser_state |= 0x001; > > parser_state &= ~0x002; > > return (292); > > case '&': > return (285); > > case '|': > return (286); > > > case '(': > result = parse_dparen (character); > if (result == -2) > break; > else > return result; > > } > } > else if ((character == '<' && peek_char == '&') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > return (289); > else if ((character == '>' && peek_char == '&') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > return (291); > else if ((character == '<' && peek_char == '>') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > return (295); > else if ((character == '>' && peek_char == '|') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > return (296); > else if ((peek_char == '>' && character == '&') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > return (294); > > shell_ungetc (peek_char); > > > > > if ((character == ')' && last_read_token == '(' && token_before_that == 279) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > parser_state |= 0x004; > > parser_state &= ~0x002; > > function_dstart = line_number; > } > > > > > if ((character == '(' && (parser_state & 0x001) == 0) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > parser_state |= 0x020; > > else if (((parser_state & 0x001) && character == ')') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > parser_state &= ~0x001; > > else if (((parser_state & 0x020) && character == ')') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > parser_state &= ~0x020; > > > > > if ((posixly_correct || ((character != '>' && character != '<') || peek_char != '(')) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > > return (character); > } > > > if ((character == '-' && (last_read_token == 289 || last_read_token == 291)) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > return (character); > > > > result = read_token_word (character); > > if (result == -99) > goto re_read_token; > > return result; >} ># 2571 "./parse.y" >static char matched_pair_error; >static char * >parse_matched_pair (qc, open, close, lenp, flags) > int qc; > int open, close; > int *lenp, flags; >{ > int count, ch, was_dollar; > int pass_next_character, nestlen, ttranslen, start_lineno; > char *ret, *nestret, *ttrans; > int retind, retsize; > > count = 1; > pass_next_character = was_dollar = 0; > > ret = (char *)xmalloc (retsize = 64); > retind = 0; > > start_lineno = line_number; > while (count) > { > ch = shell_getc ((qc != '\'' || (flags & 0x02)) && pass_next_character == 0); > if (ch == (-1)) > { > free (ret); > parser_error (start_lineno, "unexpected EOF while looking for matching `%c'", close); > EOF_Reached = 1; > return (&matched_pair_error); > } > > > if (ch == '\n' && interactive && > (bash_input.type == st_stdin || bash_input.type == st_stream)) > prompt_again (); > > if (pass_next_character) > { > pass_next_character = 0; > if (qc != '\'' && ch == '\n') > { > if (retind > 0) retind--; > continue; > } > > do { if ((retind) + (2) >= retsize) { while ((retind) + (2) >= retsize) retsize += (64); ret = xrealloc (ret, retsize); } } while (0); > if ((ch == '\001' || ch == '\177') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > ret[retind++] = '\001'; > ret[retind++] = ch; > continue; > } > else if ((ch == '\001' || ch == '\177') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > do { if ((retind) + (2) >= retsize) { while ((retind) + (2) >= retsize) retsize += (64); ret = xrealloc (ret, retsize); } } while (0); > ret[retind++] = '\001'; > ret[retind++] = ch; > continue; > } > else if ((ch == close) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > count--; > > > else if ((open != close && was_dollar && open == '{' && ch == open) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > count++; > > else if ((((flags & 0x01) == 0) && ch == open) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > count++; > > > do { if ((retind) + (1) >= retsize) { while ((retind) + (1) >= retsize) retsize += (64); ret = xrealloc (ret, retsize); } } while (0); > ret[retind++] = ch; > > if (open == '\'') > { > if (((flags & 0x02) && ch == '\\') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > pass_next_character++; > continue; > } > > if ((ch == '\\') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > pass_next_character++; > > if (open != close) > { > if (((sh_syntaxtab[(unsigned char)(ch)] & 0x0008)) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > > do { if (dstack.delimiter_depth + 2 > dstack.delimiter_space) dstack.delimiters = (char *)xrealloc (dstack.delimiters, (dstack.delimiter_space += 10) * sizeof (char)); dstack.delimiters[dstack.delimiter_depth] = ch; dstack.delimiter_depth++; } while (0); > if ((was_dollar && ch == '\'') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > nestret = parse_matched_pair (ch, ch, ch, &nestlen, 0x02); > else > nestret = parse_matched_pair (ch, ch, ch, &nestlen, 0); > dstack.delimiter_depth--; > if (nestret == &matched_pair_error) > { > free (ret); > return &matched_pair_error; > } > if ((was_dollar && ch == '\'') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > > ttrans = ansiexpand (nestret, 0, nestlen - 1, &ttranslen); > xfree (nestret); > nestret = sh_single_quote (ttrans); > free (ttrans); > nestlen = strlen (nestret); > retind -= 2; > } > else if ((was_dollar && ch == '"') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > > ttrans = localeexpand (nestret, 0, nestlen - 1, start_lineno, &ttranslen); > xfree (nestret); > nestret = (char *)xmalloc (ttranslen + 3); > nestret[0] = '"'; > strcpy (nestret + 1, ttrans); > nestret[ttranslen + 1] = '"'; > nestret[ttranslen += 2] = '\0'; > free (ttrans); > nestlen = ttranslen; > retind -= 2; > } > > if (nestlen) > { > do { if ((retind) + (nestlen) >= retsize) { while ((retind) + (nestlen) >= retsize) retsize += (64); ret = xrealloc (ret, retsize); } } while (0); > strcpy (ret + retind, nestret); > retind += nestlen; > } > do { if (nestret) free (nestret); } while (0); > } > } > > > > else if ((open == '"' && ch == '`') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > nestret = parse_matched_pair (0, '`', '`', &nestlen, 0); > if (nestret == &matched_pair_error) > { > free (ret); > return &matched_pair_error; > } > if (nestlen) > { > do { if ((retind) + (nestlen) >= retsize) { while ((retind) + (nestlen) >= retsize) retsize += (64); ret = xrealloc (ret, retsize); } } while (0); > strcpy (ret + retind, nestret); > retind += nestlen; > } > do { if (nestret) free (nestret); } while (0); > } > else if ((was_dollar && (ch == '(' || ch == '{' || ch == '[')) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > > { > if (open == ch) > count--; > if (ch == '(') > nestret = parse_matched_pair (0, '(', ')', &nestlen, 0); > else if (ch == '{') > nestret = parse_matched_pair (0, '{', '}', &nestlen, 0x01); > else if (ch == '[') > nestret = parse_matched_pair (0, '[', ']', &nestlen, 0); > if (nestret == &matched_pair_error) > { > free (ret); > return &matched_pair_error; > } > if (nestlen) > { > do { if ((retind) + (nestlen) >= retsize) { while ((retind) + (nestlen) >= retsize) retsize += (64); ret = xrealloc (ret, retsize); } } while (0); > strcpy (ret + retind, nestret); > retind += nestlen; > } > do { if (nestret) free (nestret); } while (0); > } > was_dollar = ((ch == '$') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)); > } > > ret[retind] = '\0'; > if (lenp) > *lenp = retind; > return ret; >} > > > > > > >static int >parse_dparen (c) > int c; >{ > int cmdtyp, len, sline; > char *wval, *wv2; > WORD_DESC *wd; > > > if (last_read_token == 265) > { > arith_for_lineno = line_number; > cmdtyp = parse_arith_cmd (&wval); > if (cmdtyp == 1) > { > > > len = strlen (wval); > wv2 = (char *)xmalloc (len); > __builtin_strncpy (wv2, wval + 1, len - 2); > wv2[len - 2] = '\0'; > wd = make_word (wv2); > yylval.word_list = make_word_list (wd, (WORD_LIST *)((void *)0)); > free (wval); > free (wv2); > return (283); > } > else > return -1; > } > > > > if (reserved_word_acceptable (last_read_token)) > { > sline = line_number; > cmdtyp = parse_arith_cmd (&wval); > if (cmdtyp == 1) > { > wd = make_word (wval); > wd->flags = 0x02; > yylval.word_list = make_word_list (wd, (WORD_LIST *)((void *)0)); > free (wval); > return (282); > } > else if (cmdtyp == 0) > { > push_string (wval, 0, (alias_t *)((void *)0)); > if ((parser_state & 0x001) == 0) > parser_state |= 0x020; > return (c); > } > else > return -1; > } > > > return -2; >} > > > > > > >static int >parse_arith_cmd (ep) > char **ep; >{ > int exp_lineno, rval, c; > char *ttok, *tokstr; > int ttoklen; > > exp_lineno = line_number; > ttok = parse_matched_pair (0, '(', ')', &ttoklen, 0); > rval = 1; > if (ttok == &matched_pair_error) > return -1; > > > c = shell_getc (0); > if ((c != ')') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > rval = 0; > > tokstr = (char *)xmalloc (ttoklen + 4); > > > tokstr[0] = (rval == 1) ? '"' : '('; > __builtin_strncpy (tokstr + 1, ttok, ttoklen - 1); > if (rval == 1) > { > tokstr[ttoklen] = '"'; > tokstr[ttoklen+1] = '\0'; > } > else > { > tokstr[ttoklen] = ')'; > tokstr[ttoklen+1] = c; > tokstr[ttoklen+2] = '\0'; > } > *ep = tokstr; > do { if (ttok) free (ttok); } while (0); > return rval; >} > > > >static void >cond_error () >{ > char *etext; > > if (EOF_Reached && cond_token != 274) > parser_error (cond_lineno, "unexpected EOF while looking for `]]'"); > else if (cond_token != 274) > { > if (etext = error_token_from_token (cond_token)) > { > parser_error (cond_lineno, "syntax error in conditional expression: unexpected token `%s'", etext); > free (etext); > } > else > parser_error (cond_lineno, "syntax error in conditional expression"); > } >} > >static COND_COM * >cond_expr () >{ > return (cond_or ()); >} > >static COND_COM * >cond_or () >{ > COND_COM *l, *r; > > l = cond_and (); > if (cond_token == 286) > { > r = cond_or (); > l = make_cond_node (2, (WORD_DESC *)((void *)0), l, r); > } > return l; >} > >static COND_COM * >cond_and () >{ > COND_COM *l, *r; > > l = cond_term (); > if (cond_token == 285) > { > r = cond_and (); > l = make_cond_node (1, (WORD_DESC *)((void *)0), l, r); > } > return l; >} > >static int >cond_skip_newlines () >{ > while ((cond_token = read_token (0)) == '\n') > { > if (interactive && (bash_input.type == st_stdin || bash_input.type == st_stream)) > prompt_again (); > } > return (cond_token); >} > > > > >static COND_COM * >cond_term () >{ > WORD_DESC *op; > COND_COM *term, *tleft, *tright; > int tok, lineno; > char *etext; > > > > > tok = cond_skip_newlines (); > lineno = line_number; > if (tok == 273) > { > do { cond_token = 274; return ((COND_COM *)((void *)0)); } while (0); > } > else if (tok == '(') > { > term = cond_expr (); > if (cond_token != ')') > { > if (term) > dispose_cond_node (term); > if (etext = error_token_from_token (cond_token)) > { > parser_error (lineno, "unexpected token `%s', expected `)'", etext); > free (etext); > } > else > parser_error (lineno, "expected `)'"); > do { cond_token = 274; return ((COND_COM *)((void *)0)); } while (0); > } > term = make_cond_node (6, (WORD_DESC *)((void *)0), term, (COND_COM *)((void *)0)); > (void)cond_skip_newlines (); > } > else if (tok == 276 || (tok == 279 && (yylval.word->word[0] == '!' && yylval.word->word[1] == '\0'))) > { > if (tok == 279) > dispose_word (yylval.word); > term = cond_term (); > if (term) > term->flags |= 0x04; > } > else if (tok == 279 && test_unop (yylval.word->word)) > { > op = yylval.word; > tok = read_token (0); > if (tok == 279) > { > tleft = make_cond_node (5, yylval.word, (COND_COM *)((void *)0), (COND_COM *)((void *)0)); > term = make_cond_node (3, op, tleft, (COND_COM *)((void *)0)); > } > else > { > dispose_word (op); > if (etext = error_token_from_token (tok)) > { > parser_error (line_number, "unexpected argument `%s' to conditional unary operator", etext); > free (etext); > } > else > parser_error (line_number, "unexpected argument to conditional unary operator"); > do { cond_token = 274; return ((COND_COM *)((void *)0)); } while (0); > } > > (void)cond_skip_newlines (); > } > else if (tok == 279) > { > > tleft = make_cond_node (5, yylval.word, (COND_COM *)((void *)0), (COND_COM *)((void *)0)); > > > tok = read_token (0); > if (tok == 279 && test_binop (yylval.word->word)) > op = yylval.word; > else if (tok == '<' || tok == '>') > op = make_word_from_token (tok); > > > else if (tok == 273 || tok == 285 || tok == 286 || tok == ')') > { > > > > op = make_word ("-n"); > term = make_cond_node (3, op, tleft, (COND_COM *)((void *)0)); > cond_token = tok; > return (term); > } > else > { > if (etext = error_token_from_token (tok)) > { > parser_error (line_number, "unexpected token `%s', conditional binary operator expected", etext); > free (etext); > } > else > parser_error (line_number, "conditional binary operator expected"); > dispose_cond_node (tleft); > do { cond_token = 274; return ((COND_COM *)((void *)0)); } while (0); > } > > > tok = read_token (0); > if (tok == 279) > { > tright = make_cond_node (5, yylval.word, (COND_COM *)((void *)0), (COND_COM *)((void *)0)); > term = make_cond_node (4, op, tleft, tright); > } > else > { > if (etext = error_token_from_token (tok)) > { > parser_error (line_number, "unexpected argument `%s' to conditional binary operator", etext); > free (etext); > } > else > parser_error (line_number, "unexpected argument to conditional binary operator"); > dispose_cond_node (tleft); > dispose_word (op); > do { cond_token = 274; return ((COND_COM *)((void *)0)); } while (0); > } > > (void)cond_skip_newlines (); > } > else > { > if (tok < 256) > parser_error (line_number, "unexpected token `%c' in conditional command", tok); > else if (etext = error_token_from_token (tok)) > { > parser_error (line_number, "unexpected token `%s' in conditional command", etext); > free (etext); > } > else > parser_error (line_number, "unexpected token %d in conditional command", tok); > do { cond_token = 274; return ((COND_COM *)((void *)0)); } while (0); > } > return (term); >} > > > >static COMMAND * >parse_cond_command () >{ > COND_COM *cexp; > > cexp = cond_expr (); > return (make_cond_command (cexp)); >} > > > > > >static int >token_is_assignment (t, i) > char *t; > int i; >{ > unsigned char c, c1; > int r; > > c = t[i]; c1 = t[i+1]; > t[i] = '='; t[i+1] = '\0'; > r = assignment (t); > t[i] = c; t[i+1] = c1; > return r; >} > >static int >token_is_ident (t, i) > char *t; > int i; >{ > unsigned char c; > int r; > > c = t[i]; > t[i] = '\0'; > r = legal_identifier (t); > t[i] = c; > return r; >} > > >static int >read_token_word (character) > int character; >{ > > WORD_DESC *the_word; > > > int token_index; > > > int all_digit_token; > > > int dollar_present; > > > int quoted; > > > > int pass_next_character; > > > int cd; > int result, peek_char; > char *ttok, *ttrans; > int ttoklen, ttranslen; > intmax_t lvalue; > > if (token_buffer_size < 496) > token = (char *)xrealloc (token, token_buffer_size = 496); > > token_index = 0; > all_digit_token = ((character) >= '0' && (character) <= '9'); > dollar_present = quoted = pass_next_character = 0; > > for (;;) > { > if (character == (-1)) > goto got_token; > > if (pass_next_character) > { > pass_next_character = 0; > goto got_character; > } > > cd = (dstack.delimiter_depth ? dstack.delimiters[dstack.delimiter_depth - 1] : 0); > > > > if ((character == '\\') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > peek_char = shell_getc (0); > > > > if (peek_char == '\n') > { > character = '\n'; > goto next_character; > } > else > { > shell_ungetc (peek_char); > > > if (cd == 0 || cd == '`' || > (cd == '"' && peek_char >= 0 && (sh_syntaxtab[peek_char] & 0x0040))) > pass_next_character++; > > quoted = 1; > goto got_character; > } > } > > > if (((sh_syntaxtab[(unsigned char)(character)] & 0x0008)) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > do { if (dstack.delimiter_depth + 2 > dstack.delimiter_space) dstack.delimiters = (char *)xrealloc (dstack.delimiters, (dstack.delimiter_space += 10) * sizeof (char)); dstack.delimiters[dstack.delimiter_depth] = character; dstack.delimiter_depth++; } while (0); > ttok = parse_matched_pair (character, character, character, &ttoklen, 0); > dstack.delimiter_depth--; > if (ttok == &matched_pair_error) > return -1; > do { if ((token_index) + (ttoklen + 2) >= token_buffer_size) { while ((token_index) + (ttoklen + 2) >= token_buffer_size) token_buffer_size += (512); token = xrealloc (token, token_buffer_size); } } while (0); > > token[token_index++] = character; > strcpy (token + token_index, ttok); > token_index += ttoklen; > all_digit_token = 0; > quoted = 1; > dollar_present |= (character == '"' && (__extension__ (__builtin_constant_p ('$') && !__builtin_constant_p (ttok) && ('$') == '\0' ? (char *) __rawmemchr (ttok, '$') : __builtin_strchr (ttok, '$'))) != 0); > do { if (ttok) free (ttok); } while (0); > goto next_character; > } > > > > if (extended_glob && ((character) == '@' || (character) == '*' || (character) == '+' || (character) == '?' || (character) == '!')) > { > peek_char = shell_getc (1); > if ((peek_char == '(') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > do { if (dstack.delimiter_depth + 2 > dstack.delimiter_space) dstack.delimiters = (char *)xrealloc (dstack.delimiters, (dstack.delimiter_space += 10) * sizeof (char)); dstack.delimiters[dstack.delimiter_depth] = peek_char; dstack.delimiter_depth++; } while (0); > ttok = parse_matched_pair (cd, '(', ')', &ttoklen, 0); > dstack.delimiter_depth--; > if (ttok == &matched_pair_error) > return -1; > do { if ((token_index) + (ttoklen + 2) >= token_buffer_size) { while ((token_index) + (ttoklen + 2) >= token_buffer_size) token_buffer_size += (512); token = xrealloc (token, token_buffer_size); } } while (0); > > > token[token_index++] = character; > token[token_index++] = peek_char; > strcpy (token + token_index, ttok); > token_index += ttoklen; > do { if (ttok) free (ttok); } while (0); > dollar_present = all_digit_token = 0; > goto next_character; > } > else > shell_ungetc (peek_char); > } > > > > > if (((character) == '$' || (character) == '<' || (character) == '>')) > { > peek_char = shell_getc (1); > > if ((peek_char == '(' || ((peek_char == '{' || peek_char == '[') && character == '$')) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > > { > if (peek_char == '{') > ttok = parse_matched_pair (cd, '{', '}', &ttoklen, 0x01); > else if (peek_char == '(') > { > > > > > > do { if (dstack.delimiter_depth + 2 > dstack.delimiter_space) dstack.delimiters = (char *)xrealloc (dstack.delimiters, (dstack.delimiter_space += 10) * sizeof (char)); dstack.delimiters[dstack.delimiter_depth] = peek_char; dstack.delimiter_depth++; } while (0); > ttok = parse_matched_pair (cd, '(', ')', &ttoklen, 0); > dstack.delimiter_depth--; > } > else > ttok = parse_matched_pair (cd, '[', ']', &ttoklen, 0); > if (ttok == &matched_pair_error) > return -1; > do { if ((token_index) + (ttoklen + 2) >= token_buffer_size) { while ((token_index) + (ttoklen + 2) >= token_buffer_size) token_buffer_size += (512); token = xrealloc (token, token_buffer_size); } } while (0); > > > token[token_index++] = character; > token[token_index++] = peek_char; > strcpy (token + token_index, ttok); > token_index += ttoklen; > do { if (ttok) free (ttok); } while (0); > dollar_present = 1; > all_digit_token = 0; > goto next_character; > } > > else if ((character == '$' && (peek_char == '\'' || peek_char == '"')) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > int first_line; > > first_line = line_number; > do { if (dstack.delimiter_depth + 2 > dstack.delimiter_space) dstack.delimiters = (char *)xrealloc (dstack.delimiters, (dstack.delimiter_space += 10) * sizeof (char)); dstack.delimiters[dstack.delimiter_depth] = peek_char; dstack.delimiter_depth++; } while (0); > ttok = parse_matched_pair (peek_char, peek_char, peek_char, > &ttoklen, > (peek_char == '\'') ? 0x02 : 0); > dstack.delimiter_depth--; > if (ttok == &matched_pair_error) > return -1; > if (peek_char == '\'') > { > ttrans = ansiexpand (ttok, 0, ttoklen - 1, &ttranslen); > free (ttok); > > > > ttok = sh_single_quote (ttrans); > free (ttrans); > ttrans = ttok; > ttranslen = strlen (ttrans); > } > else > { > > ttrans = localeexpand (ttok, 0, ttoklen - 1, first_line, &ttranslen); > free (ttok); > > > ttok = (char *)xmalloc (ttranslen + 3); > ttok[0] = '"'; > strcpy (ttok + 1, ttrans); > ttok[ttranslen + 1] = '"'; > ttok[ttranslen += 2] = '\0'; > free (ttrans); > ttrans = ttok; > } > > do { if ((token_index) + (ttranslen + 2) >= token_buffer_size) { while ((token_index) + (ttranslen + 2) >= token_buffer_size) token_buffer_size += (512); token = xrealloc (token, token_buffer_size); } } while (0); > > > strcpy (token + token_index, ttrans); > token_index += ttranslen; > do { if (ttrans) free (ttrans); } while (0); > quoted = 1; > all_digit_token = 0; > goto next_character; > } > > > else if ((character == '$' && peek_char == '$') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > ttok = (char *)xmalloc (3); > ttok[0] = ttok[1] = '$'; > ttok[2] = '\0'; > do { if ((token_index) + (3) >= token_buffer_size) { while ((token_index) + (3) >= token_buffer_size) token_buffer_size += (512); token = xrealloc (token, token_buffer_size); } } while (0); > > > strcpy (token + token_index, ttok); > token_index += 2; > dollar_present = 1; > all_digit_token = 0; > do { if (ttok) free (ttok); } while (0); > goto next_character; > } > else > shell_ungetc (peek_char); > } > > > > else if ((character == '[' && token_index > 0 && (((last_read_token) == 280) || ((last_read_token) != 292 && reserved_word_acceptable(last_read_token))) && ((parser_state & 0x001) == 0) && token_is_ident (token, token_index)) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > ttok = parse_matched_pair (cd, '[', ']', &ttoklen, 0); > if (ttok == &matched_pair_error) > return -1; > do { if ((token_index) + (ttoklen + 2) >= token_buffer_size) { while ((token_index) + (ttoklen + 2) >= token_buffer_size) token_buffer_size += (512); token = xrealloc (token, token_buffer_size); } } while (0); > > > token[token_index++] = character; > strcpy (token + token_index, ttok); > token_index += ttoklen; > do { if (ttok) free (ttok); } while (0); > all_digit_token = 0; > goto next_character; > } > > else if ((character == '=' && token_index > 0 && token_is_assignment (token, token_index)) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > peek_char = shell_getc (1); > if ((peek_char == '(') && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > ttok = parse_compound_assignment (&ttoklen); > > do { if ((token_index) + (ttoklen + 4) >= token_buffer_size) { while ((token_index) + (ttoklen + 4) >= token_buffer_size) token_buffer_size += (512); token = xrealloc (token, token_buffer_size); } } while (0); > > > > token[token_index++] = '='; > token[token_index++] = '('; > if (ttok) > { > strcpy (token + token_index, ttok); > token_index += ttoklen; > } > token[token_index++] = ')'; > do { if (ttok) free (ttok); } while (0); > all_digit_token = 0; > goto next_character; > } > else > shell_ungetc (peek_char); > } > > > > > if (((sh_syntaxtab[(unsigned char)(character)] & 0x0002)) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > { > shell_ungetc (character); > goto got_token; > } > > got_character: > > all_digit_token &= ((character) >= '0' && (character) <= '9'); > dollar_present |= character == '$'; > > if (character == '\001' || character == '\177') > token[token_index++] = '\001'; > > token[token_index++] = character; > > do { if ((token_index) + (1) >= token_buffer_size) { while ((token_index) + (1) >= token_buffer_size) token_buffer_size += (512); token = xrealloc (token, token_buffer_size); } } while (0); > > > next_character: > if (character == '\n' && interactive && > (bash_input.type == st_stdin || bash_input.type == st_stream)) > prompt_again (); > > > > > cd = (dstack.delimiter_depth ? dstack.delimiters[dstack.delimiter_depth - 1] : 0); > character = shell_getc (cd != '\'' && pass_next_character == 0); > } > >got_token: > > token[token_index] = '\0'; > > > > > > if ((all_digit_token && (character == '<' || character == '>' || last_read_token == 289 || last_read_token == 291)) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > > > { > if (legal_number (token, &lvalue) && (int)lvalue == lvalue) > yylval.number = lvalue; > else > yylval.number = -1; > return (281); > } > > > result = (((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) ? special_case_tokens (token) : -1; > if (result >= 0) > return result; > > > > > > if ((posixly_correct) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > do { if (!dollar_present && !quoted && reserved_word_acceptable (last_read_token)) { int i; for (i = 0; word_token_alist[i].word != (char *)((void *)0); i++) if (((token)[0] == (word_token_alist[i].word)[0] && __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (token) && __builtin_constant_p (word_token_alist[i].word) && (__s1_len = strlen (token), __s2_len = strlen (word_token_alist[i].word), (!((size_t)(const void *)((token) + 1) - (size_t)(const void *)(token) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((word_token_alist[i].word) + 1) - (size_t)(const void *)(word_token_alist[i].word) == 1) || __s2_len >= 4)) ? __builtin_strcmp (token, word_token_alist[i].word) : (__builtin_constant_p (token) && ((size_t)(const void *)((token) + 1) - (size_t)(const void *)(token) == 1) && (__s1_len = strlen (token), __s1_len < 4) ? (__builtin_constant_p (word_token_alist[i].word) && ((size_t)(const void *)((word_token_alist[i].word) + 1) - (size_t)(const void *)(word_token_alist[i].word) == 1) ? __builtin_strcmp (token, word_token_alist[i].word) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (word_token_alist[i].word); register int __result = (((__const unsigned char *) (__const char *) (token))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (token))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (token))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (token))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (word_token_alist[i].word) && ((size_t)(const void *)((word_token_alist[i].word) + 1) - (size_t)(const void *)(word_token_alist[i].word) == 1) && (__s2_len = strlen (word_token_alist[i].word), __s2_len < 4) ? (__builtin_constant_p (token) && ((size_t)(const void *)((token) + 1) - (size_t)(const void *)(token) == 1) ? __builtin_strcmp (token, word_token_alist[i].word) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (token); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (word_token_alist[i].word))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (word_token_alist[i].word))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (word_token_alist[i].word))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (word_token_alist[i].word))[3]); } } __result; }))) : __builtin_strcmp (token, word_token_alist[i].word)))); }) == 0)) { if ((parser_state & 0x001) && (word_token_alist[i].token != 264)) break; if (word_token_alist[i].token == 277) break; if (word_token_alist[i].token == 264) parser_state &= ~(0x001|0x080); else if (word_token_alist[i].token == 263) parser_state |= 0x080; else if (word_token_alist[i].token == 273) parser_state &= ~(0x100|0x200); else if (word_token_alist[i].token == 272) parser_state |= 0x100; else if (word_token_alist[i].token == '{') open_brace_count++; else if (word_token_alist[i].token == '}' && open_brace_count) open_brace_count--; return (word_token_alist[i].token); } } } while (0); > > > > if (expand_aliases && quoted == 0) > { > result = alias_expand_token (token); > if (result == -99) > return (-99); > else if (result == -100) > parser_state &= ~0x002; > } > > > > if ((posixly_correct == 0) && ((shell_input_line_index > 1) ? shell_input_line_property[shell_input_line_index - 1] : 1)) > > do { if (!dollar_present && !quoted && reserved_word_acceptable (last_read_token)) { int i; for (i = 0; word_token_alist[i].word != (char *)((void *)0); i++) if (((token)[0] == (word_token_alist[i].word)[0] && __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (token) && __builtin_constant_p (word_token_alist[i].word) && (__s1_len = strlen (token), __s2_len = strlen (word_token_alist[i].word), (!((size_t)(const void *)((token) + 1) - (size_t)(const void *)(token) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((word_token_alist[i].word) + 1) - (size_t)(const void *)(word_token_alist[i].word) == 1) || __s2_len >= 4)) ? __builtin_strcmp (token, word_token_alist[i].word) : (__builtin_constant_p (token) && ((size_t)(const void *)((token) + 1) - (size_t)(const void *)(token) == 1) && (__s1_len = strlen (token), __s1_len < 4) ? (__builtin_constant_p (word_token_alist[i].word) && ((size_t)(const void *)((word_token_alist[i].word) + 1) - (size_t)(const void *)(word_token_alist[i].word) == 1) ? __builtin_strcmp (token, word_token_alist[i].word) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (word_token_alist[i].word); register int __result = (((__const unsigned char *) (__const char *) (token))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (token))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (token))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (token))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (word_token_alist[i].word) && ((size_t)(const void *)((word_token_alist[i].word) + 1) - (size_t)(const void *)(word_token_alist[i].word) == 1) && (__s2_len = strlen (word_token_alist[i].word), __s2_len < 4) ? (__builtin_constant_p (token) && ((size_t)(const void *)((token) + 1) - (size_t)(const void *)(token) == 1) ? __builtin_strcmp (token, word_token_alist[i].word) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (token); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (word_token_alist[i].word))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (word_token_alist[i].word))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (word_token_alist[i].word))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (word_token_alist[i].word))[3]); } } __result; }))) : __builtin_strcmp (token, word_token_alist[i].word)))); }) == 0)) { if ((parser_state & 0x001) && (word_token_alist[i].token != 264)) break; if (word_token_alist[i].token == 277) break; if (word_token_alist[i].token == 264) parser_state &= ~(0x001|0x080); else if (word_token_alist[i].token == 263) parser_state |= 0x080; else if (word_token_alist[i].token == 273) parser_state &= ~(0x100|0x200); else if (word_token_alist[i].token == 272) parser_state |= 0x100; else if (word_token_alist[i].token == '{') open_brace_count++; else if (word_token_alist[i].token == '}' && open_brace_count) open_brace_count--; return (word_token_alist[i].token); } } } while (0); > > the_word = (WORD_DESC *)xmalloc (sizeof (WORD_DESC)); > the_word->word = (char *)xmalloc (1 + token_index); > the_word->flags = 0; > strcpy (the_word->word, token); > if (dollar_present) > the_word->flags |= 0x01; > if (quoted) > the_word->flags |= 0x02; > > > > if (assignment (token)) > { > the_word->flags |= 0x04; > > if ((((last_read_token) == 280) || ((last_read_token) != 292 && reserved_word_acceptable(last_read_token))) && ((parser_state & 0x001) == 0)) > the_word->flags |= 0x10; > } > > yylval.word = the_word; > > result = ((the_word->flags & (0x04|0x10)) == (0x04|0x10)) > ? 280 : 279; > > if (last_read_token == 271) > { > parser_state |= 0x004; > function_dstart = line_number; > } > > return (result); >} > > > >static int >reserved_word_acceptable (toksym) > int toksym; >{ > switch (toksym) > { > case '\n': > case ';': > case '(': > case ')': > case '|': > case '&': > case '{': > case '}': > case 285: > case 276: > case 269: > case 270: > case 261: > case 260: > case 264: > case 262: > case 258: > case 286: > case 292: > case 259: > case 277: > case 278: > case 268: > case 267: > case 0: > return 1; > default: > return 0; > } >} > > > >int >find_reserved_word (tokstr) > char *tokstr; >{ > int i; > for (i = 0; word_token_alist[i].word; i++) > if (((tokstr)[0] == (word_token_alist[i].word)[0] && __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (tokstr) && __builtin_constant_p (word_token_alist[i].word) && (__s1_len = strlen (tokstr), __s2_len = strlen (word_token_alist[i].word), (!((size_t)(const void *)((tokstr) + 1) - (size_t)(const void *)(tokstr) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((word_token_alist[i].word) + 1) - (size_t)(const void *)(word_token_alist[i].word) == 1) || __s2_len >= 4)) ? __builtin_strcmp (tokstr, word_token_alist[i].word) : (__builtin_constant_p (tokstr) && ((size_t)(const void *)((tokstr) + 1) - (size_t)(const void *)(tokstr) == 1) && (__s1_len = strlen (tokstr), __s1_len < 4) ? (__builtin_constant_p (word_token_alist[i].word) && ((size_t)(const void *)((word_token_alist[i].word) + 1) - (size_t)(const void *)(word_token_alist[i].word) == 1) ? __builtin_strcmp (tokstr, word_token_alist[i].word) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (word_token_alist[i].word); register int __result = (((__const unsigned char *) (__const char *) (tokstr))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (tokstr))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (tokstr))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (tokstr))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (word_token_alist[i].word) && ((size_t)(const void *)((word_token_alist[i].word) + 1) - (size_t)(const void *)(word_token_alist[i].word) == 1) && (__s2_len = strlen (word_token_alist[i].word), __s2_len < 4) ? (__builtin_constant_p (tokstr) && ((size_t)(const void *)((tokstr) + 1) - (size_t)(const void *)(tokstr) == 1) ? __builtin_strcmp (tokstr, word_token_alist[i].word) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (tokstr); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (word_token_alist[i].word))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (word_token_alist[i].word))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (word_token_alist[i].word))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (word_token_alist[i].word))[3]); } } __result; }))) : __builtin_strcmp (tokstr, word_token_alist[i].word)))); }) == 0)) > return i; > return -1; >} ># 3602 "./parse.y" >static int no_semi_successors[] = { > '\n', '{', '(', ')', ';', '&', '|', > 263, 269, 260, 258, 292, 259, 268, 267, 285, 286, 275, > 0 >}; > > > > > >char * >history_delimiting_chars () >{ > register int i; > > if (dstack.delimiter_depth != 0) > return ("\n"); ># 3627 "./parse.y" > if (token_before_that == ')') > { > if (two_tokens_ago == '(') > return " "; > > > else if (parser_state & 0x080) > return " "; > else > return "; "; > } > else if (token_before_that == 279 && two_tokens_ago == 271) > return " "; > > else if (token_before_that == 279 && two_tokens_ago == 265) > { > > > for (i = shell_input_line_index; (((shell_input_line[i]) == ' ') || ((shell_input_line[i]) == '\t')); i++) > ; > if (shell_input_line[i] && shell_input_line[i] == 'i' && shell_input_line[i+1] == 'n') > return " "; > return ";"; > } > > for (i = 0; no_semi_successors[i]; i++) > { > if (token_before_that == no_semi_successors[i]) > return (" "); > } > > return ("; "); >} > > > > >static void >prompt_again () >{ > char *temp_prompt; > > if (!interactive) > return; > > ps1_prompt = get_string_value ("PS1"); > ps2_prompt = get_string_value ("PS2"); > > if (!prompt_string_pointer) > prompt_string_pointer = &ps1_prompt; > > temp_prompt = *prompt_string_pointer > ? decode_prompt_string (*prompt_string_pointer) > : (char *)((void *)0); > > if (temp_prompt == 0) > { > temp_prompt = (char *)xmalloc (1); > temp_prompt[0] = '\0'; > } > > current_prompt_string = *prompt_string_pointer; > prompt_string_pointer = &ps2_prompt; > > > if (!no_line_editing) > { > do { if (current_readline_prompt) free (current_readline_prompt); } while (0); > current_readline_prompt = temp_prompt; > } > else > > { > do { if (current_decoded_prompt) free (current_decoded_prompt); } while (0); > current_decoded_prompt = temp_prompt; > } >} > >int >get_current_prompt_level () >{ > return ((current_prompt_string && current_prompt_string == ps2_prompt) ? 2 : 1); >} > >void >set_current_prompt_level (x) > int x; >{ > prompt_string_pointer = (x == 2) ? &ps2_prompt : &ps1_prompt; > current_prompt_string = *prompt_string_pointer; >} > >static void >print_prompt () >{ > fprintf (stderr, "%s", current_decoded_prompt); > fflush (stderr); >} ># 3758 "./parse.y" >char * >decode_prompt_string (string) > char *string; >{ > WORD_LIST *list; > char *result, *t; > struct dstack save_dstack; > int last_exit_value; > > int result_size, result_index; > int c, n; > char *temp, octal_string[4]; > struct tm *tm; > time_t the_time; > char timebuf[128]; > char *timefmt; > > result = (char *)xmalloc (result_size = 48); > result[result_index = 0] = 0; > temp = (char *)((void *)0); > > while (c = *string++) > { > if (posixly_correct && c == '!') > { > if (*string == '!') > { > temp = (char *)strcpy (xmalloc (1 + strlen ("!")), ("!")); > goto add_string; > } > else > { > > > > temp = itos (history_number ()); > > string--; > goto add_string; > } > } > if (c == '\\') > { > c = *string; > > switch (c) > { > case '0': > case '1': > case '2': > case '3': > case '4': > case '5': > case '6': > case '7': > __builtin_strncpy (octal_string, string, 3); > octal_string[3] = '\0'; > > n = read_octal (octal_string); > temp = (char *)xmalloc (3); > > if (n == '\001' || n == '\177') > { > temp[0] = '\001'; > temp[1] = n; > temp[2] = '\0'; > } > else if (n == -1) > { > temp[0] = '\\'; > temp[1] = '\0'; > } > else > { > temp[0] = n; > temp[1] = '\0'; > } > > for (c = 0; n != -1 && c < 3 && ((*string) >= '0' && (*string) <= '7'); c++) > string++; > > c = 0; > goto add_string; > > case 'd': > case 't': > case 'T': > case '@': > case 'A': > > (void) time (&the_time); > tm = localtime (&the_time); > > if (c == 'd') > n = strftime (timebuf, sizeof (timebuf), "%a %b %d", tm); > else if (c == 't') > n = strftime (timebuf, sizeof (timebuf), "%H:%M:%S", tm); > else if (c == 'T') > n = strftime (timebuf, sizeof (timebuf), "%I:%M:%S", tm); > else if (c == '@') > n = strftime (timebuf, sizeof (timebuf), "%I:%M %p", tm); > else if (c == 'A') > n = strftime (timebuf, sizeof (timebuf), "%H:%M", tm); > > timebuf[sizeof(timebuf) - 1] = '\0'; > temp = (char *)strcpy (xmalloc (1 + strlen (timebuf)), (timebuf)); > goto add_string; > > case 'D': > if (string[1] != '{') > goto not_escape; > > (void) time (&the_time); > tm = localtime (&the_time); > string += 2; > timefmt = xmalloc (strlen (string) + 3); > for (t = timefmt; *string && *string != '}'; ) > *t++ = *string++; > *t = '\0'; > c = *string; > if (timefmt[0] == '\0') > { > timefmt[0] = '%'; > timefmt[1] = 'X'; > timefmt[2] = '\0'; > } > n = strftime (timebuf, sizeof (timebuf), timefmt, tm); > free (timefmt); > > timebuf[sizeof(timebuf) - 1] = '\0'; > if (promptvars || posixly_correct) > > > > temp = sh_backslash_quote_for_double_quotes (timebuf); > else > temp = (char *)strcpy (xmalloc (1 + strlen (timebuf)), (timebuf)); > goto add_string; > > case 'n': > temp = (char *)xmalloc (3); > temp[0] = no_line_editing ? '\n' : '\r'; > temp[1] = no_line_editing ? '\0' : '\n'; > temp[2] = '\0'; > goto add_string; > > case 's': > temp = base_pathname (shell_name); > temp = (char *)strcpy (xmalloc (1 + strlen (temp)), (temp)); > goto add_string; > > case 'v': > case 'V': > temp = (char *)xmalloc (16); > if (c == 'v') > strcpy (temp, dist_version); > else > sprintf (temp, "%s.%d", dist_version, patch_level); > goto add_string; > > case 'w': > case 'W': > { > > char t_string[4096]; > int tlen; > > temp = get_string_value ("PWD"); > > if (temp == 0) > { > if (getcwd (t_string, sizeof(t_string)) == 0) > { > t_string[0] = '.'; > tlen = 1; > } > else > tlen = strlen (t_string); > } > else > { > tlen = sizeof (t_string) - 1; > __builtin_strncpy (t_string, temp, tlen); > } > t_string[tlen] = '\0'; > > > > if (c == 'W') > { > if (((t_string)[0] == '/' && (t_string)[1] == 0) == 0 && ((t_string)[0] == '/' && (t_string)[1] == '/' && (t_string)[2] == 0) == 0) > { > t = strrchr (t_string, '/'); > if (t) > strcpy (t_string, t + 1); > } > } > > > else > > > strcpy (t_string, polite_directory_format (t_string)); > > > > if (promptvars || posixly_correct) > > > > temp = sh_backslash_quote_for_double_quotes (t_string); > else > temp = (char *)strcpy (xmalloc (1 + strlen (t_string)), (t_string)); > > goto add_string; > } > > case 'u': > if (current_user.user_name == 0) > get_current_user_info (); > temp = (char *)strcpy (xmalloc (1 + strlen (current_user.user_name)), (current_user.user_name)); > goto add_string; > > case 'h': > case 'H': > temp = (char *)strcpy (xmalloc (1 + strlen (current_host_name)), (current_host_name)); > if (c == 'h' && (t = (char *)(__extension__ (__builtin_constant_p ('.') && !__builtin_constant_p (temp) && ('.') == '\0' ? (char *) __rawmemchr (temp, '.') : __builtin_strchr (temp, '.'))))) > *t = '\0'; > goto add_string; > > case '#': > temp = itos (current_command_number); > goto add_string; > > case '!': > > > > temp = itos (history_number ()); > > goto add_string; > > case '$': > t = temp = (char *)xmalloc (3); > if ((promptvars || posixly_correct) && (current_user.euid != 0)) > *t++ = '\\'; > *t++ = current_user.euid == 0 ? '#' : '$'; > *t = '\0'; > goto add_string; > > case 'j': > temp = itos (count_all_jobs ()); > goto add_string; > > case 'l': > > temp = (char *)ttyname (fileno (stdin)); > t = temp ? base_pathname (temp) : "tty"; > temp = (char *)strcpy (xmalloc (1 + strlen (t)), (t)); > > > > goto add_string; > > > case '[': > case ']': > temp = (char *)xmalloc (3); > temp[0] = '\001'; > temp[1] = (c == '[') ? '\001' : '\002'; > temp[2] = '\0'; > goto add_string; > > > case '\\': > case 'a': > case 'e': > case 'r': > temp = (char *)xmalloc (2); > if (c == 'a') > temp[0] = '\07'; > else if (c == 'e') > temp[0] = '\033'; > else if (c == 'r') > temp[0] = '\r'; > else > temp[0] = c; > temp[1] = '\0'; > goto add_string; > > default: >not_escape: > temp = (char *)xmalloc (3); > temp[0] = '\\'; > temp[1] = c; > temp[2] = '\0'; > > add_string: > if (c) > string++; > result = > sub_append_string (temp, result, &result_index, &result_size); > temp = (char *)((void *)0); > result[result_index] = '\0'; > break; > } > } > else > { > do { if ((result_index) + (3) >= result_size) { while ((result_index) + (3) >= result_size) result_size += (48); result = xrealloc (result, result_size); } } while (0); > result[result_index++] = c; > result[result_index] = '\0'; > } > } > > > > > > > > save_dstack = dstack; > dstack = temp_dstack; > dstack.delimiter_depth = 0; > > > > if (promptvars || posixly_correct) > { > last_exit_value = last_command_exit_value; > list = expand_prompt_string (result, 0x1); > free (result); > result = string_list (list); > dispose_words (list); > last_command_exit_value = last_exit_value; > } > else > { > t = dequote_string (result); > free (result); > result = t; > } > > dstack = save_dstack; > > return (result); >} ># 4114 "./parse.y" >int >yyerror (msg) > const char *msg; >{ > report_syntax_error ((char *)((void *)0)); > reset_parser (); > return (0); >} > >static char * >error_token_from_token (token) > int token; >{ > char *t; > > if (t = find_token_in_alist (token, word_token_alist, 0)) > return t; > > if (t = find_token_in_alist (token, other_token_alist, 0)) > return t; > > t = (char *)((void *)0); > > switch (current_token) > { > case 279: > case 280: > if (yylval.word) > t = (char *)strcpy (xmalloc (1 + strlen (yylval.word->word)), (yylval.word->word)); > break; > case 281: > t = itos (yylval.number); > break; > case 282: > if (yylval.word_list) > t = string_list (yylval.word_list); > break; > case 283: > if (yylval.word_list) > t = string_list_internal (yylval.word_list, " ; "); > break; > case 284: > t = (char *)((void *)0); > break; > } > > return t; >} > >static char * >error_token_from_text () >{ > char *msg, *t; > int token_end, i; > > t = shell_input_line; > i = shell_input_line_index; > token_end = 0; > msg = (char *)((void *)0); > > if (i && t[i] == '\0') > i--; > > while (i && ((((t[i]) == ' ') || ((t[i]) == '\t')) || t[i] == '\n')) > i--; > > if (i) > token_end = i + 1; > > while (i && (((t[i]) ? ((char *)xstrchr ((" \n\t;|&"), (t[i])) != (char *)((void *)0)) : 0) == 0)) > i--; > > while (i != token_end && ((((t[i]) == ' ') || ((t[i]) == '\t')) || t[i] == '\n')) > i++; > > > if (token_end || (i == 0 && token_end == 0)) > { > if (token_end) > msg = substring (t, i, token_end); > else > { > msg = (char *)xmalloc (2); > msg[0] = t[i]; > msg[1] = '\0'; > } > } > > return (msg); >} > >static void >print_offending_line () >{ > char *msg; > int token_end; > > msg = (char *)strcpy (xmalloc (1 + strlen (shell_input_line)), (shell_input_line)); > token_end = strlen (msg); > while (token_end && msg[token_end - 1] == '\n') > msg[--token_end] = '\0'; > > parser_error (line_number, "`%s'", msg); > free (msg); >} > > > > > >static void >report_syntax_error (message) > char *message; >{ > char *msg; > > if (message) > { > parser_error (line_number, "%s", message); > if (interactive && EOF_Reached) > EOF_Reached = 0; > last_command_exit_value = 258; > return; > } > > > > > if (current_token != 0 && EOF_Reached == 0 && (msg = error_token_from_token (current_token))) > { > parser_error (line_number, "syntax error near unexpected token `%s'", msg); > free (msg); > > if (interactive == 0) > print_offending_line (); > > last_command_exit_value = 258; > return; > } > > > > > if (shell_input_line && *shell_input_line) > { > msg = error_token_from_text (); > if (msg) > { > parser_error (line_number, "syntax error near `%s'", msg); > free (msg); > } > > > if (interactive == 0) > print_offending_line (); > } > else > { > msg = EOF_Reached ? "syntax error: unexpected end of file" : "syntax error"; > parser_error (line_number, "%s", msg); > > > > if (interactive && EOF_Reached) > EOF_Reached = 0; > } > > last_command_exit_value = 258; >} > > > > > > >static void >discard_parser_constructs (error_p) > int error_p; >{ >} ># 4304 "./parse.y" >int ignoreeof = 0; > > > > >int eof_encountered = 0; > > >int eof_encountered_limit = 10; > > > > > >static void >handle_eof_input_unit () >{ > if (interactive) > { > > > > if (EOF_Reached) > EOF_Reached = 0; > > > if (ignoreeof) > { > if (eof_encountered < eof_encountered_limit) > { > fprintf (stderr, "Use \"%s\" to leave the shell.\n", > login_shell ? "logout" : "exit"); > eof_encountered++; > > last_read_token = current_token = '\n'; > > prompt_string_pointer = (char **)((void *)0); > prompt_again (); > return; > } > } > > > reset_parser (); > exit_builtin ((WORD_LIST *)((void *)0)); > } > else > { > > EOF_Reached = 1; > } >} ># 4366 "./parse.y" >static WORD_LIST parse_string_error; > > > >WORD_LIST * >parse_string_to_word_list (s, whom) > char *s; > const char *whom; >{ > WORD_LIST *wl; > int tok, orig_current_token, orig_line_number, orig_input_terminator; > int orig_line_count; > int old_echo_input, old_expand_aliases; > > int old_remember_on_history, old_history_expansion_inhibited; > > > > old_remember_on_history = remember_on_history; > > old_history_expansion_inhibited = history_expansion_inhibited; > > bash_history_disable (); > > > orig_line_number = line_number; > orig_line_count = current_command_line_count; > orig_input_terminator = shell_input_line_terminator; > old_echo_input = echo_input_at_read; > old_expand_aliases = expand_aliases; > > push_stream (1); > last_read_token = 279; > current_command_line_count = 0; > echo_input_at_read = expand_aliases = 0; > > with_input_from_string (s, whom); > wl = (WORD_LIST *)((void *)0); > while ((tok = read_token (0)) != 297) > { > if (tok == '\n' && *bash_input.location.string == '\0') > break; > if (tok == '\n') > continue; > if (tok != 279 && tok != 280) > { > line_number = orig_line_number + line_number - 1; > orig_current_token = current_token; > current_token = tok; > yyerror ((char *)((void *)0)); > current_token = orig_current_token; > if (wl) > dispose_words (wl); > wl = &parse_string_error; > break; > } > wl = make_word_list (yylval.word, wl); > } > > last_read_token = '\n'; > pop_stream (); > > > remember_on_history = old_remember_on_history; > > history_expansion_inhibited = old_history_expansion_inhibited; > > > > echo_input_at_read = old_echo_input; > expand_aliases = old_expand_aliases; > > current_command_line_count = orig_line_count; > shell_input_line_terminator = orig_input_terminator; > > if (wl == &parse_string_error) > { > last_command_exit_value = 1; > if (interactive_shell == 0 && posixly_correct) > jump_to_top_level (1); > else > jump_to_top_level (2); > } > > return (((wl && wl->next) ? (WORD_LIST *)list_reverse ((GENERIC_LIST *)wl) : (WORD_LIST *)(wl))); >} > >static char * >parse_compound_assignment (retlenp) > int *retlenp; >{ > WORD_LIST *wl, *rl; > int tok, orig_line_number, orig_token_size; > char *saved_token, *ret; > > saved_token = token; > orig_token_size = token_buffer_size; > orig_line_number = line_number; > > last_read_token = 279; > > token = (char *)((void *)0); > token_buffer_size = 0; > > wl = (WORD_LIST *)((void *)0); > while ((tok = read_token (0)) != ')') > { > if (tok == '\n') > continue; > if (tok != 279 && tok != 280) > { > current_token = tok; > if (tok == 297) > parser_error (orig_line_number, "unexpected EOF while looking for matching `)'"); > else > yyerror ((char *)((void *)0)); > if (wl) > dispose_words (wl); > wl = &parse_string_error; > break; > } > wl = make_word_list (yylval.word, wl); > } > > do { if (token) free (token); } while (0); > token = saved_token; > token_buffer_size = orig_token_size; > > if (wl == &parse_string_error) > { > last_command_exit_value = 1; > last_read_token = '\n'; > if (interactive_shell == 0 && posixly_correct) > jump_to_top_level (1); > else > jump_to_top_level (2); > } > > last_read_token = 279; > if (wl) > { > rl = ((wl && wl->next) ? (WORD_LIST *)list_reverse ((GENERIC_LIST *)wl) : (WORD_LIST *)(wl)); > ret = string_list (rl); > dispose_words (rl); > } > else > ret = (char *)((void *)0); > > if (retlenp) > *retlenp = (ret && *ret) ? strlen (ret) : 0; > return ret; >} ># 4526 "./parse.y" >static void >set_line_mbstate () >{ > int i, previ, len; > mbstate_t mbs, prevs; > size_t mbclen; > > if (shell_input_line == ((void *)0)) > return; > len = strlen (shell_input_line); > do { if (shell_input_line_property) free (shell_input_line_property); } while (0); > shell_input_line_property = (char *)xmalloc (len + 1); > > memset (&prevs, '\0', sizeof (mbstate_t)); > for (i = previ = 0; i < len; i++) > { > mbs = prevs; > > if (shell_input_line[i] == (-1)) > { > int j; > for (j = i; j < len; j++) > shell_input_line_property[j] = 1; > break; > } > > mbclen = mbrlen (shell_input_line + previ, i - previ + 1, &mbs); > if (mbclen == 1 || mbclen == (size_t)-1) > { > mbclen = 1; > previ = i + 1; > } > else if (mbclen == (size_t)-2) > mbclen = 0; > else if (mbclen > 1) > { > mbclen = 0; > previ = i + 1; > prevs = mbs; > } > else > { > > } > > shell_input_line_property[i] = mbclen; > } >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 57025
: 35401