# 1 "zipscript-c.c" # 1 "/home/grandja/proj/project-zs-ng_r2339-v1.0.10/zipscript/src//" # 1 "" # 1 "" # 1 "zipscript-c.c" # 1 "/usr/include/stdio.h" 1 3 4 # 28 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 322 "/usr/include/features.h" 3 4 # 1 "/usr/include/sys/cdefs.h" 1 3 4 # 324 "/usr/include/sys/cdefs.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 325 "/usr/include/sys/cdefs.h" 2 3 4 # 323 "/usr/include/features.h" 2 3 4 # 345 "/usr/include/features.h" 3 4 # 1 "/usr/include/gnu/stubs.h" 1 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 5 "/usr/include/gnu/stubs.h" 2 3 4 # 1 "/usr/include/gnu/stubs-64.h" 1 3 4 # 10 "/usr/include/gnu/stubs.h" 2 3 4 # 346 "/usr/include/features.h" 2 3 4 # 29 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/stddef.h" 1 3 4 # 214 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/stddef.h" 3 4 typedef long unsigned int size_t; # 35 "/usr/include/stdio.h" 2 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/x86_64-linux-gnu/4.1.3/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; typedef signed long int __int64_t; typedef unsigned long int __uint64_t; typedef long int __quad_t; typedef unsigned long int __u_quad_t; # 134 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/typesizes.h" 1 3 4 # 135 "/usr/include/bits/types.h" 2 3 4 typedef unsigned long int __dev_t; typedef unsigned int __uid_t; typedef unsigned int __gid_t; typedef unsigned long int __ino_t; typedef unsigned long int __ino64_t; typedef unsigned int __mode_t; typedef unsigned long int __nlink_t; typedef long int __off_t; typedef long int __off64_t; typedef int __pid_t; typedef struct { int __val[2]; } __fsid_t; typedef long int __clock_t; typedef unsigned long int __rlim_t; typedef unsigned long int __rlim64_t; typedef unsigned int __id_t; typedef long int __time_t; typedef unsigned int __useconds_t; typedef long int __suseconds_t; typedef int __daddr_t; typedef long int __swblk_t; typedef int __key_t; typedef int __clockid_t; typedef void * __timer_t; typedef long int __blksize_t; typedef long int __blkcnt_t; typedef long int __blkcnt64_t; typedef unsigned long int __fsblkcnt_t; typedef unsigned long int __fsblkcnt64_t; typedef unsigned long int __fsfilcnt_t; typedef unsigned long int __fsfilcnt64_t; typedef long int __ssize_t; typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; typedef long int __intptr_t; typedef unsigned int __socklen_t; # 37 "/usr/include/stdio.h" 2 3 4 # 45 "/usr/include/stdio.h" 3 4 struct _IO_FILE; typedef struct _IO_FILE FILE; # 65 "/usr/include/stdio.h" 3 4 typedef struct _IO_FILE __FILE; # 75 "/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/x86_64-linux-gnu/4.1.3/include/stddef.h" 1 3 4 # 326 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/stddef.h" 3 4 typedef int wchar_t; # 355 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/stddef.h" 3 4 typedef unsigned int wint_t; # 15 "/usr/include/_G_config.h" 2 3 4 # 24 "/usr/include/_G_config.h" 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 48 "/usr/include/wchar.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/stddef.h" 1 3 4 # 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; # 25 "/usr/include/_G_config.h" 2 3 4 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 44 "/usr/include/_G_config.h" 3 4 # 1 "/usr/include/gconv.h" 1 3 4 # 28 "/usr/include/gconv.h" 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 48 "/usr/include/wchar.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/stddef.h" 1 3 4 # 49 "/usr/include/wchar.h" 2 3 4 # 29 "/usr/include/gconv.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/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/x86_64-linux-gnu/4.1.3/include/stdarg.h" 1 3 4 # 43 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 54 "/usr/include/libio.h" 2 3 4 # 167 "/usr/include/libio.h" 3 4 struct _IO_jump_t; struct _IO_FILE; # 177 "/usr/include/libio.h" 3 4 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 200 "/usr/include/libio.h" 3 4 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 268 "/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; # 316 "/usr/include/libio.h" 3 4 __off64_t _offset; # 325 "/usr/include/libio.h" 3 4 void *__pad1; void *__pad2; void *__pad3; void *__pad4; size_t __pad5; int _mode; char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; }; typedef struct _IO_FILE _IO_FILE; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; # 361 "/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); # 413 "/usr/include/libio.h" 3 4 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); # 451 "/usr/include/libio.h" 3 4 extern int _IO_getc (_IO_FILE *__fp); extern int _IO_putc (int __c, _IO_FILE *__fp); extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_peekc_locked (_IO_FILE *__fp); extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__)); extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__)); extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__)); # 481 "/usr/include/libio.h" 3 4 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict); extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list); extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__)); # 76 "/usr/include/stdio.h" 2 3 4 # 89 "/usr/include/stdio.h" 3 4 typedef _G_fpos64_t fpos_t; # 141 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 142 "/usr/include/stdio.h" 2 3 4 extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; extern int remove (__const char *__filename) __attribute__ ((__nothrow__)); extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__)); # 175 "/usr/include/stdio.h" 3 4 extern FILE *tmpfile (void) __asm__ ("" "tmpfile64") ; # 186 "/usr/include/stdio.h" 3 4 extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)) ; extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)) ; # 204 "/usr/include/stdio.h" 3 4 extern char *tempnam (__const char *__dir, __const char *__pfx) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 229 "/usr/include/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 243 "/usr/include/stdio.h" 3 4 # 260 "/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") ; # 283 "/usr/include/stdio.h" 3 4 extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)) ; # 304 "/usr/include/stdio.h" 3 4 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__)); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) __attribute__ ((__nothrow__)); extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) __attribute__ ((__nothrow__)); extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__)); extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int printf (__const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)); extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); # 398 "/usr/include/stdio.h" 3 4 extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) ; extern int scanf (__const char *__restrict __format, ...) ; extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); # 440 "/usr/include/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 464 "/usr/include/stdio.h" 3 4 extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 475 "/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); # 508 "/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) ; # 589 "/usr/include/stdio.h" 3 4 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) ; # 642 "/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); # 686 "/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"); # 711 "/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"); # 729 "/usr/include/stdio.h" 3 4 extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__)); extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ; extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ; extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__)); extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; 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[]; # 759 "/usr/include/stdio.h" 2 3 4 extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ; extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; # 778 "/usr/include/stdio.h" 3 4 extern FILE *popen (__const char *__command, __const char *__modes) ; extern int pclose (FILE *__stream); extern char *ctermid (char *__s) __attribute__ ((__nothrow__)); # 818 "/usr/include/stdio.h" 3 4 extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__)); extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ; extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__)); # 839 "/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 fgetc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline 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))); } # 121 "/usr/include/bits/stdio.h" 3 4 extern __inline int __attribute__ ((__nothrow__)) feof_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x10) != 0); } extern __inline int __attribute__ ((__nothrow__)) ferror_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x20) != 0); } # 840 "/usr/include/stdio.h" 2 3 4 # 848 "/usr/include/stdio.h" 3 4 # 2 "zipscript-c.c" 2 # 1 "/usr/include/string.h" 1 3 4 # 28 "/usr/include/string.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/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) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmove (void *__dest, __const void *__src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memchr (__const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 82 "/usr/include/string.h" 3 4 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strcat (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcmp (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcoll (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); # 130 "/usr/include/string.h" 3 4 extern char *strdup (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); # 165 "/usr/include/string.h" 3 4 extern char *strchr (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strrchr (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 181 "/usr/include/string.h" 3 4 extern size_t strcspn (__const char *__s, __const char *__reject) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strspn (__const char *__s, __const char *__accept) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strpbrk (__const char *__s, __const char *__accept) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strstr (__const char *__haystack, __const char *__needle) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strtok (char *__restrict __s, __const char *__restrict __delim) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); # 240 "/usr/include/string.h" 3 4 extern size_t strlen (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 254 "/usr/include/string.h" 3 4 extern char *strerror (int __errnum) __attribute__ ((__nothrow__)); # 270 "/usr/include/string.h" 3 4 extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); # 294 "/usr/include/string.h" 3 4 extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void bcopy (__const void *__src, void *__dest, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *index (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *rindex (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); # 331 "/usr/include/string.h" 3 4 extern int strcasecmp (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 354 "/usr/include/string.h" 3 4 extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); # 420 "/usr/include/string.h" 3 4 # 1 "/usr/include/bits/string.h" 1 3 4 # 421 "/usr/include/string.h" 2 3 4 # 1 "/usr/include/bits/string2.h" 1 3 4 # 52 "/usr/include/bits/string2.h" 3 4 # 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 # 53 "/usr/include/bits/string2.h" 2 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/x86_64-linux-gnu/4.1.3/include/stddef.h" 1 3 4 # 34 "/usr/include/stdlib.h" 2 3 4 # 587 "/usr/include/stdlib.h" 3 4 extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; # 976 "/usr/include/stdlib.h" 3 4 # 1300 "/usr/include/bits/string2.h" 2 3 4 extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); # 1323 "/usr/include/bits/string2.h" 3 4 extern char *__strndup (__const char *__string, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); # 424 "/usr/include/string.h" 2 3 4 # 432 "/usr/include/string.h" 3 4 # 3 "zipscript-c.c" 2 # 1 "/usr/include/stdlib.h" 1 3 4 # 33 "/usr/include/stdlib.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/stddef.h" 1 3 4 # 34 "/usr/include/stdlib.h" 2 3 4 # 96 "/usr/include/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; # 140 "/usr/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ; extern double atof (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern int atoi (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern long int atol (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int atoll (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 182 "/usr/include/stdlib.h" 3 4 extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 279 "/usr/include/stdlib.h" 3 4 extern double __strtod_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern float __strtof_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern long double __strtold_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern long int __strtol_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int __strtoll_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int __strtoull_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern __inline double __attribute__ ((__nothrow__)) strtod (__const char *__restrict __nptr, char **__restrict __endptr) { return __strtod_internal (__nptr, __endptr, 0); } extern __inline long int __attribute__ ((__nothrow__)) strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtol_internal (__nptr, __endptr, __base, 0); } extern __inline unsigned long int __attribute__ ((__nothrow__)) strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoul_internal (__nptr, __endptr, __base, 0); } # 364 "/usr/include/stdlib.h" 3 4 __extension__ extern __inline long long int __attribute__ ((__nothrow__)) strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int __attribute__ ((__nothrow__)) strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoull_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline long long int __attribute__ ((__nothrow__)) strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int __attribute__ ((__nothrow__)) strtoull (__const char * __restrict __nptr, char **__restrict __endptr, int __base) { return __strtoull_internal (__nptr, __endptr, __base, 0); } extern __inline double __attribute__ ((__nothrow__)) atof (__const char *__nptr) { return strtod (__nptr, (char **) ((void *)0)); } extern __inline int __attribute__ ((__nothrow__)) atoi (__const char *__nptr) { return (int) strtol (__nptr, (char **) ((void *)0), 10); } extern __inline long int __attribute__ ((__nothrow__)) atol (__const char *__nptr) { return strtol (__nptr, (char **) ((void *)0), 10); } __extension__ extern __inline long long int __attribute__ ((__nothrow__)) atoll (__const char *__nptr) { return strtoll (__nptr, (char **) ((void *)0), 10); } # 429 "/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ; extern long int a64l (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; # 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; # 62 "/usr/include/sys/types.h" 3 4 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; # 100 "/usr/include/sys/types.h" 3 4 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 # 75 "/usr/include/time.h" 3 4 typedef __time_t time_t; # 93 "/usr/include/time.h" 3 4 typedef __clockid_t clockid_t; # 105 "/usr/include/time.h" 3 4 typedef __timer_t timer_t; # 134 "/usr/include/sys/types.h" 2 3 4 # 147 "/usr/include/sys/types.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/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; # 195 "/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__))); # 220 "/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 # 24 "/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 # 121 "/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 typedef __suseconds_t suseconds_t; 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); # 221 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/sys/sysmacros.h" 1 3 4 # 30 "/usr/include/sys/sysmacros.h" 3 4 __extension__ extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) __attribute__ ((__nothrow__)); __extension__ extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) __attribute__ ((__nothrow__)); __extension__ extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) __attribute__ ((__nothrow__)); __extension__ extern __inline unsigned int __attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev) { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } __extension__ extern __inline unsigned int __attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev) { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } __extension__ extern __inline unsigned long long int __attribute__ ((__nothrow__)) 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)); } # 224 "/usr/include/sys/types.h" 2 3 4 # 248 "/usr/include/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt_t; typedef __fsblkcnt64_t fsblkcnt_t; typedef __fsfilcnt64_t fsfilcnt_t; # 270 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 # 23 "/usr/include/bits/pthreadtypes.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 # 50 "/usr/include/bits/pthreadtypes.h" 3 4 typedef unsigned long int pthread_t; typedef union { char __size[56]; long int __align; } pthread_attr_t; typedef struct __pthread_internal_list { struct __pthread_internal_list *__prev; struct __pthread_internal_list *__next; } __pthread_list_t; # 76 "/usr/include/bits/pthreadtypes.h" 3 4 typedef union { struct __pthread_mutex_s { int __lock; unsigned int __count; int __owner; unsigned int __nusers; int __kind; int __spins; __pthread_list_t __list; # 101 "/usr/include/bits/pthreadtypes.h" 3 4 } __data; char __size[40]; long int __align; } pthread_mutex_t; typedef union { char __size[4]; int __align; } pthread_mutexattr_t; typedef union { struct { int __lock; unsigned int __futex; __extension__ unsigned long long int __total_seq; __extension__ unsigned long long int __wakeup_seq; __extension__ unsigned long long int __woken_seq; void *__mutex; unsigned int __nwaiters; unsigned int __broadcast_seq; } __data; char __size[48]; __extension__ long long int __align; } pthread_cond_t; typedef union { char __size[4]; int __align; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef int pthread_once_t; typedef union { struct { int __lock; unsigned int __nr_readers; unsigned int __readers_wakeup; unsigned int __writer_wakeup; unsigned int __nr_readers_queued; unsigned int __nr_writers_queued; int __writer; int __pad1; unsigned long int __pad2; unsigned long int __pad3; unsigned int __flags; } __data; # 184 "/usr/include/bits/pthreadtypes.h" 3 4 char __size[56]; long int __align; } pthread_rwlock_t; typedef union { char __size[8]; long int __align; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef union { char __size[32]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 271 "/usr/include/sys/types.h" 2 3 4 # 439 "/usr/include/stdlib.h" 2 3 4 extern long int random (void) __attribute__ ((__nothrow__)); extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__)); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int srandom_r (unsigned int __seed, struct random_data *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int rand (void) __attribute__ ((__nothrow__)); extern void srand (unsigned int __seed) __attribute__ ((__nothrow__)); extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__)); extern double drand48 (void) __attribute__ ((__nothrow__)); extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int lrand48 (void) __attribute__ ((__nothrow__)); extern long int nrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int mrand48 (void) __attribute__ ((__nothrow__)); extern long int jrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void srand48 (long int __seedval) __attribute__ ((__nothrow__)); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int srand48_r (long int __seedval, struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); # 597 "/usr/include/stdlib.h" 3 4 extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern void free (void *__ptr) __attribute__ ((__nothrow__)); extern void cfree (void *__ptr) __attribute__ ((__nothrow__)); # 1 "/usr/include/alloca.h" 1 3 4 # 25 "/usr/include/alloca.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/stddef.h" 1 3 4 # 26 "/usr/include/alloca.h" 2 3 4 extern void *alloca (size_t __size) __attribute__ ((__nothrow__)); # 613 "/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); # 658 "/usr/include/stdlib.h" 3 4 extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern char *__secure_getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int setenv (__const char *__name, __const char *__value, int __replace) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__)); extern int clearenv (void) __attribute__ ((__nothrow__)); # 698 "/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 712 "/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __asm__ ("" "mkstemp64") __attribute__ ((__nonnull__ (1))) ; # 729 "/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int system (__const char *__command) ; # 755 "/usr/include/stdlib.h" 3 4 extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) __attribute__ ((__nothrow__)) ; typedef int (*__compar_fn_t) (__const void *, __const void *); extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 2, 5))) ; extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern div_t div (int __numer, int __denom) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; # 820 "/usr/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *gcvt (double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ; extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ; extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ; extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)); extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) __attribute__ ((__nothrow__)); extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 925 "/usr/include/stdlib.h" 3 4 extern int posix_openpt (int __oflag) ; # 960 "/usr/include/stdlib.h" 3 4 extern int getloadavg (double __loadavg[], int __nelem) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 976 "/usr/include/stdlib.h" 3 4 # 4 "zipscript-c.c" 2 # 1 "/usr/include/time.h" 1 3 4 # 31 "/usr/include/time.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/stddef.h" 1 3 4 # 40 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 44 "/usr/include/time.h" 2 3 4 # 59 "/usr/include/time.h" 3 4 typedef __clock_t clock_t; # 132 "/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; # 181 "/usr/include/time.h" 3 4 extern clock_t clock (void) __attribute__ ((__nothrow__)); extern time_t time (time_t *__timer) __attribute__ ((__nothrow__)); extern double difftime (time_t __time1, time_t __time0) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__)); extern size_t strftime (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp) __attribute__ ((__nothrow__)); # 229 "/usr/include/time.h" 3 4 extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__)); extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__)); extern struct tm *gmtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) __attribute__ ((__nothrow__)); extern struct tm *localtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) __attribute__ ((__nothrow__)); extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__)); extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__)); extern char *asctime_r (__const struct tm *__restrict __tp, char *__restrict __buf) __attribute__ ((__nothrow__)); extern char *ctime_r (__const time_t *__restrict __timer, char *__restrict __buf) __attribute__ ((__nothrow__)); extern char *__tzname[2]; extern int __daylight; extern long int __timezone; extern char *tzname[2]; extern void tzset (void) __attribute__ ((__nothrow__)); extern int daylight; extern long int timezone; extern int stime (__const time_t *__when) __attribute__ ((__nothrow__)); # 312 "/usr/include/time.h" 3 4 extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__)); extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__)); extern int dysize (int __year) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); # 327 "/usr/include/time.h" 3 4 extern int nanosleep (__const struct timespec *__requested_time, struct timespec *__remaining); extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__)); extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__)); extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) __attribute__ ((__nothrow__)); extern int clock_nanosleep (clockid_t __clock_id, int __flags, __const struct timespec *__req, struct timespec *__rem); extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__)); extern int timer_create (clockid_t __clock_id, struct sigevent *__restrict __evp, timer_t *__restrict __timerid) __attribute__ ((__nothrow__)); extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__)); extern int timer_settime (timer_t __timerid, int __flags, __const struct itimerspec *__restrict __value, struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__)); extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) __attribute__ ((__nothrow__)); extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__)); # 416 "/usr/include/time.h" 3 4 # 5 "zipscript-c.c" 2 # 1 "/usr/include/fcntl.h" 1 3 4 # 30 "/usr/include/fcntl.h" 3 4 # 1 "/usr/include/bits/fcntl.h" 1 3 4 # 25 "/usr/include/bits/fcntl.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 26 "/usr/include/bits/fcntl.h" 2 3 4 # 155 "/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; }; # 222 "/usr/include/bits/fcntl.h" 3 4 # 251 "/usr/include/bits/fcntl.h" 3 4 # 35 "/usr/include/fcntl.h" 2 3 4 # 76 "/usr/include/fcntl.h" 3 4 extern int fcntl (int __fd, int __cmd, ...); # 88 "/usr/include/fcntl.h" 3 4 extern int open (__const char *__file, int __oflag, ...) __asm__ ("" "open64") __attribute__ ((__nonnull__ (1))); # 133 "/usr/include/fcntl.h" 3 4 extern int creat (__const char *__file, __mode_t __mode) __asm__ ("" "creat64") __attribute__ ((__nonnull__ (1))); # 162 "/usr/include/fcntl.h" 3 4 extern int lockf (int __fd, int __cmd, __off64_t __len) __asm__ ("" "lockf64"); # 180 "/usr/include/fcntl.h" 3 4 extern int posix_fadvise (int __fd, __off64_t __offset, __off64_t __len, int __advise) __asm__ ("" "posix_fadvise64") __attribute__ ((__nothrow__)); # 201 "/usr/include/fcntl.h" 3 4 extern int posix_fallocate (int __fd, __off64_t __offset, __off64_t __len) __asm__ ("" "posix_fallocate64"); # 213 "/usr/include/fcntl.h" 3 4 # 6 "zipscript-c.c" 2 # 1 "/usr/include/fnmatch.h" 1 3 4 # 65 "/usr/include/fnmatch.h" 3 4 extern int fnmatch (const char *__pattern, const char *__name, int __flags); # 7 "zipscript-c.c" 2 # 1 "/usr/include/sys/time.h" 1 3 4 # 29 "/usr/include/sys/time.h" 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 30 "/usr/include/sys/time.h" 2 3 4 # 39 "/usr/include/sys/time.h" 3 4 # 57 "/usr/include/sys/time.h" 3 4 struct timezone { int tz_minuteswest; int tz_dsttime; }; typedef struct timezone *__restrict __timezone_ptr_t; # 73 "/usr/include/sys/time.h" 3 4 extern int gettimeofday (struct timeval *__restrict __tv, __timezone_ptr_t __tz) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int settimeofday (const struct timeval *__tv, const struct timezone *__tz) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int adjtime (const struct timeval *__delta, struct timeval *__olddelta) __attribute__ ((__nothrow__)); enum __itimer_which { ITIMER_REAL = 0, ITIMER_VIRTUAL = 1, ITIMER_PROF = 2 }; struct itimerval { struct timeval it_interval; struct timeval it_value; }; typedef int __itimer_which_t; extern int getitimer (__itimer_which_t __which, struct itimerval *__value) __attribute__ ((__nothrow__)); extern int setitimer (__itimer_which_t __which, const struct itimerval *__restrict __new, struct itimerval *__restrict __old) __attribute__ ((__nothrow__)); extern int utimes (const char *__file, const struct timeval __tvp[2]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int lutimes (const char *__file, const struct timeval __tvp[2]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int futimes (int __fd, const struct timeval __tvp[2]) __attribute__ ((__nothrow__)); # 191 "/usr/include/sys/time.h" 3 4 # 8 "zipscript-c.c" 2 # 1 "/usr/include/sys/ipc.h" 1 3 4 # 29 "/usr/include/sys/ipc.h" 3 4 # 1 "/usr/include/bits/ipctypes.h" 1 3 4 # 33 "/usr/include/bits/ipctypes.h" 3 4 typedef int __ipc_pid_t; # 30 "/usr/include/sys/ipc.h" 2 3 4 # 1 "/usr/include/bits/ipc.h" 1 3 4 # 43 "/usr/include/bits/ipc.h" 3 4 struct ipc_perm { __key_t __key; __uid_t uid; __gid_t gid; __uid_t cuid; __gid_t cgid; unsigned short int mode; unsigned short int __pad1; unsigned short int __seq; unsigned short int __pad2; unsigned long int __unused1; unsigned long int __unused2; }; # 31 "/usr/include/sys/ipc.h" 2 3 4 # 52 "/usr/include/sys/ipc.h" 3 4 extern key_t ftok (const char *__pathname, int __proj_id) __attribute__ ((__nothrow__)); # 10 "zipscript-c.c" 2 # 1 "/usr/include/sys/shm.h" 1 3 4 # 25 "/usr/include/sys/shm.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/stddef.h" 1 3 4 # 26 "/usr/include/sys/shm.h" 2 3 4 # 1 "/usr/include/bits/shm.h" 1 3 4 # 39 "/usr/include/bits/shm.h" 3 4 extern int __getpagesize (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); typedef unsigned long int shmatt_t; struct shmid_ds { struct ipc_perm shm_perm; size_t shm_segsz; __time_t shm_atime; __time_t shm_dtime; __time_t shm_ctime; __pid_t shm_cpid; __pid_t shm_lpid; shmatt_t shm_nattch; unsigned long int __unused4; unsigned long int __unused5; }; # 85 "/usr/include/bits/shm.h" 3 4 struct shminfo { unsigned long int shmmax; unsigned long int shmmin; unsigned long int shmmni; unsigned long int shmseg; unsigned long int shmall; unsigned long int __unused1; unsigned long int __unused2; unsigned long int __unused3; unsigned long int __unused4; }; struct shm_info { int used_ids; unsigned long int shm_tot; unsigned long int shm_rss; unsigned long int shm_swp; unsigned long int swap_attempts; unsigned long int swap_successes; }; # 32 "/usr/include/sys/shm.h" 2 3 4 # 45 "/usr/include/sys/shm.h" 3 4 extern int shmctl (int __shmid, int __cmd, struct shmid_ds *__buf) __attribute__ ((__nothrow__)); extern int shmget (key_t __key, size_t __size, int __shmflg) __attribute__ ((__nothrow__)); extern void *shmat (int __shmid, const void *__shmaddr, int __shmflg) __attribute__ ((__nothrow__)); extern int shmdt (const void *__shmaddr) __attribute__ ((__nothrow__)); # 11 "zipscript-c.c" 2 # 1 "/usr/include/sys/stat.h" 1 3 4 # 105 "/usr/include/sys/stat.h" 3 4 # 1 "/usr/include/bits/stat.h" 1 3 4 # 43 "/usr/include/bits/stat.h" 3 4 struct stat { __dev_t st_dev; __ino_t st_ino; __nlink_t st_nlink; __mode_t st_mode; __uid_t st_uid; __gid_t st_gid; int pad0; __dev_t st_rdev; __off_t st_size; __blksize_t st_blksize; __blkcnt_t st_blocks; # 88 "/usr/include/bits/stat.h" 3 4 struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; # 103 "/usr/include/bits/stat.h" 3 4 long int __unused[3]; # 112 "/usr/include/bits/stat.h" 3 4 }; # 108 "/usr/include/sys/stat.h" 2 3 4 # 217 "/usr/include/sys/stat.h" 3 4 extern int stat (const char *__restrict __file, struct stat *__restrict __buf) __asm__ ("" "stat64") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int fstat (int __fd, struct stat *__buf) __asm__ ("" "fstat64") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); # 265 "/usr/include/sys/stat.h" 3 4 extern int lstat (const char *__restrict __file, struct stat *__restrict __buf) __asm__ ("" "lstat64") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); # 282 "/usr/include/sys/stat.h" 3 4 extern int chmod (const char *__file, __mode_t __mode) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int lchmod (const char *__file, __mode_t __mode) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int fchmod (int __fd, __mode_t __mode) __attribute__ ((__nothrow__)); # 309 "/usr/include/sys/stat.h" 3 4 extern __mode_t umask (__mode_t __mask) __attribute__ ((__nothrow__)); # 318 "/usr/include/sys/stat.h" 3 4 extern int mkdir (const char *__path, __mode_t __mode) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 333 "/usr/include/sys/stat.h" 3 4 extern int mknod (const char *__path, __mode_t __mode, __dev_t __dev) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 347 "/usr/include/sys/stat.h" 3 4 extern int mkfifo (const char *__path, __mode_t __mode) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 408 "/usr/include/sys/stat.h" 3 4 extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) __asm__ ("" "__fxstat64") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))); extern int __xstat (int __ver, const char *__filename, struct stat *__stat_buf) __asm__ ("" "__xstat64") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); extern int __lxstat (int __ver, const char *__filename, struct stat *__stat_buf) __asm__ ("" "__lxstat64") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); extern int __fxstatat (int __ver, int __fildes, const char *__filename, struct stat *__stat_buf, int __flag) __asm__ ("" "__fxstatat64") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))); # 440 "/usr/include/sys/stat.h" 3 4 extern int __xmknod (int __ver, const char *__path, __mode_t __mode, __dev_t *__dev) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); extern int __xmknodat (int __ver, int __fd, const char *__path, __mode_t __mode, __dev_t *__dev) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 5))); extern __inline int __attribute__ ((__nothrow__)) stat (const char *__path, struct stat *__statbuf) { return __xstat (1, __path, __statbuf); } extern __inline int __attribute__ ((__nothrow__)) lstat (const char *__path, struct stat *__statbuf) { return __lxstat (1, __path, __statbuf); } extern __inline int __attribute__ ((__nothrow__)) fstat (int __fd, struct stat *__statbuf) { return __fxstat (1, __fd, __statbuf); } # 480 "/usr/include/sys/stat.h" 3 4 extern __inline int __attribute__ ((__nothrow__)) mknod (const char *__path, __mode_t __mode, __dev_t __dev) { return __xmknod (0, __path, __mode, &__dev); } # 532 "/usr/include/sys/stat.h" 3 4 # 12 "zipscript-c.c" 2 # 1 "../../config.h" 1 # 15 "zipscript-c.c" 2 # 1 "../../lib/strl/strl.h" 1 size_t strlcpy(char *, const char *, size_t); # 19 "zipscript-c.c" 2 # 1 "../include/helpfunctions.h" 1 extern char *find_last_of(char *, const char *); extern char *find_first_of(char *, const char *); extern void strip_whitespaces(char *); extern char *prestrip_whitespaces(char *); extern void xlock(struct flock *, int, short); extern void xunlock(struct flock *, int); # 22 "zipscript-c.c" 2 # 1 "../include/zsfunctions.h" 1 # 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) __attribute__ ((__nothrow__)); extern int isalpha (int) __attribute__ ((__nothrow__)); extern int iscntrl (int) __attribute__ ((__nothrow__)); extern int isdigit (int) __attribute__ ((__nothrow__)); extern int islower (int) __attribute__ ((__nothrow__)); extern int isgraph (int) __attribute__ ((__nothrow__)); extern int isprint (int) __attribute__ ((__nothrow__)); extern int ispunct (int) __attribute__ ((__nothrow__)); extern int isspace (int) __attribute__ ((__nothrow__)); extern int isupper (int) __attribute__ ((__nothrow__)); extern int isxdigit (int) __attribute__ ((__nothrow__)); extern int tolower (int __c) __attribute__ ((__nothrow__)); extern int toupper (int __c) __attribute__ ((__nothrow__)); # 142 "/usr/include/ctype.h" 3 4 extern int isascii (int __c) __attribute__ ((__nothrow__)); extern int toascii (int __c) __attribute__ ((__nothrow__)); extern int _toupper (int) __attribute__ ((__nothrow__)); extern int _tolower (int) __attribute__ ((__nothrow__)); # 190 "/usr/include/ctype.h" 3 4 extern __inline int __attribute__ ((__nothrow__)) tolower (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; } extern __inline int __attribute__ ((__nothrow__)) toupper (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; } # 323 "/usr/include/ctype.h" 3 4 # 6 "../include/zsfunctions.h" 2 # 1 "/usr/include/regex.h" 1 3 4 # 36 "/usr/include/regex.h" 3 4 typedef long int s_reg_t; typedef unsigned long int active_reg_t; typedef unsigned long int reg_syntax_t; # 181 "/usr/include/regex.h" 3 4 extern reg_syntax_t re_syntax_options; # 303 "/usr/include/regex.h" 3 4 typedef enum { REG_NOERROR = 0, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE, REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN, REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND, REG_ESIZE, REG_ERPAREN } reg_errcode_t; # 343 "/usr/include/regex.h" 3 4 struct re_pattern_buffer { unsigned char *buffer; unsigned long int allocated; unsigned long int used; reg_syntax_t syntax; char *fastmap; unsigned char * translate; size_t re_nsub; unsigned can_be_null : 1; # 386 "/usr/include/regex.h" 3 4 unsigned regs_allocated : 2; unsigned fastmap_accurate : 1; unsigned no_sub : 1; unsigned not_bol : 1; unsigned not_eol : 1; unsigned newline_anchor : 1; }; typedef struct re_pattern_buffer regex_t; typedef int regoff_t; struct re_registers { unsigned num_regs; regoff_t *start; regoff_t *end; }; # 434 "/usr/include/regex.h" 3 4 typedef struct { regoff_t rm_so; regoff_t rm_eo; } regmatch_t; extern reg_syntax_t re_set_syntax (reg_syntax_t __syntax); extern const char *re_compile_pattern (const char *__pattern, size_t __length, struct re_pattern_buffer *__buffer); extern int re_compile_fastmap (struct re_pattern_buffer *__buffer); extern int re_search (struct re_pattern_buffer *__buffer, const char *__string, int __length, int __start, int __range, struct re_registers *__regs); extern int re_search_2 (struct re_pattern_buffer *__buffer, const char *__string1, int __length1, const char *__string2, int __length2, int __start, int __range, struct re_registers *__regs, int __stop); extern int re_match (struct re_pattern_buffer *__buffer, const char *__string, int __length, int __start, struct re_registers *__regs); extern int re_match_2 (struct re_pattern_buffer *__buffer, const char *__string1, int __length1, const char *__string2, int __length2, int __start, struct re_registers *__regs, int __stop); # 502 "/usr/include/regex.h" 3 4 extern void re_set_registers (struct re_pattern_buffer *__buffer, struct re_registers *__regs, unsigned int __num_regs, regoff_t *__starts, regoff_t *__ends); # 537 "/usr/include/regex.h" 3 4 extern int regcomp (regex_t *__restrict __preg, const char *__restrict __pattern, int __cflags); extern int regexec (const regex_t *__restrict __preg, const char *__restrict __string, size_t __nmatch, regmatch_t __pmatch[__restrict], int __eflags); extern size_t regerror (int __errcode, const regex_t *__restrict __preg, char *__restrict __errbuf, size_t __errbuf_size); extern void regfree (regex_t *__preg); # 12 "../include/zsfunctions.h" 2 # 1 "/usr/include/errno.h" 1 3 4 # 32 "/usr/include/errno.h" 3 4 # 1 "/usr/include/bits/errno.h" 1 3 4 # 25 "/usr/include/bits/errno.h" 3 4 # 1 "/usr/include/linux/errno.h" 1 3 4 # 1 "/usr/include/asm/errno.h" 1 3 4 # 1 "/usr/include/asm-x86_64/errno.h" 1 3 4 # 1 "/usr/include/asm-generic/errno.h" 1 3 4 # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 # 5 "/usr/include/asm-generic/errno.h" 2 3 4 # 5 "/usr/include/asm-x86_64/errno.h" 2 3 4 # 6 "/usr/include/asm/errno.h" 2 3 4 # 5 "/usr/include/linux/errno.h" 2 3 4 # 26 "/usr/include/bits/errno.h" 2 3 4 # 43 "/usr/include/bits/errno.h" 3 4 extern int *__errno_location (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); # 37 "/usr/include/errno.h" 2 3 4 # 59 "/usr/include/errno.h" 3 4 # 17 "../include/zsfunctions.h" 2 # 1 "/usr/include/sys/wait.h" 1 3 4 # 29 "/usr/include/sys/wait.h" 3 4 # 1 "/usr/include/signal.h" 1 3 4 # 31 "/usr/include/signal.h" 3 4 # 1 "/usr/include/bits/sigset.h" 1 3 4 # 104 "/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); # 118 "/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 # 75 "/usr/include/signal.h" 3 4 typedef void (*__sighandler_t) (int); extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__)); # 90 "/usr/include/signal.h" 3 4 extern __sighandler_t signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__)); # 104 "/usr/include/signal.h" 3 4 # 117 "/usr/include/signal.h" 3 4 extern int kill (__pid_t __pid, int __sig) __attribute__ ((__nothrow__)); extern int killpg (__pid_t __pgrp, int __sig) __attribute__ ((__nothrow__)); extern int raise (int __sig) __attribute__ ((__nothrow__)); extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__)); extern int gsignal (int __sig) __attribute__ ((__nothrow__)); extern void psignal (int __sig, const char *__s); # 153 "/usr/include/signal.h" 3 4 extern int __sigpause (int __sig_or_mask, int __is_sig); # 181 "/usr/include/signal.h" 3 4 extern int sigblock (int __mask) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__)); extern int sigsetmask (int __mask) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__)); extern int siggetmask (void) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__)); # 201 "/usr/include/signal.h" 3 4 typedef __sighandler_t sig_t; # 212 "/usr/include/signal.h" 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)) - 4)]; struct { __pid_t si_pid; __uid_t si_uid; } _kill; struct { int si_tid; int si_overrun; sigval_t si_sigval; } _timer; struct { __pid_t si_pid; __uid_t si_uid; sigval_t si_sigval; } _rt; struct { __pid_t si_pid; __uid_t si_uid; int si_status; __clock_t si_utime; __clock_t si_stime; } _sigchld; struct { void *si_addr; } _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)) - 4)]; __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 }; # 213 "/usr/include/signal.h" 2 3 4 extern int sigemptyset (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int sigfillset (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int sigaddset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int sigdelset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int sigismember (const sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 246 "/usr/include/signal.h" 3 4 # 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); }; # 247 "/usr/include/signal.h" 2 3 4 extern int sigprocmask (int __how, const sigset_t *__restrict __set, sigset_t *__restrict __oset) __attribute__ ((__nothrow__)); extern int sigsuspend (const sigset_t *__set) __attribute__ ((__nonnull__ (1))); extern int sigaction (int __sig, const struct sigaction *__restrict __act, struct sigaction *__restrict __oact) __attribute__ ((__nothrow__)); extern int sigpending (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int sigwait (const sigset_t *__restrict __set, int *__restrict __sig) __attribute__ ((__nonnull__ (1, 2))); extern int sigwaitinfo (const sigset_t *__restrict __set, siginfo_t *__restrict __info) __attribute__ ((__nonnull__ (1))); extern int sigtimedwait (const sigset_t *__restrict __set, siginfo_t *__restrict __info, const struct timespec *__restrict __timeout) __attribute__ ((__nonnull__ (1))); extern int sigqueue (__pid_t __pid, int __sig, const union sigval __val) __attribute__ ((__nothrow__)); # 304 "/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; }; # 328 "/usr/include/signal.h" 3 4 extern int sigvec (int __sig, const struct sigvec *__vec, struct sigvec *__ovec) __attribute__ ((__nothrow__)); # 1 "/usr/include/bits/sigcontext.h" 1 3 4 # 26 "/usr/include/bits/sigcontext.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 27 "/usr/include/bits/sigcontext.h" 2 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 { __uint32_t element[4]; }; # 109 "/usr/include/bits/sigcontext.h" 3 4 struct _fpstate { __uint16_t cwd; __uint16_t swd; __uint16_t ftw; __uint16_t fop; __uint64_t rip; __uint64_t rdp; __uint32_t mxcsr; __uint32_t mxcr_mask; struct _fpxreg _st[8]; struct _xmmreg _xmm[16]; __uint32_t padding[24]; }; struct sigcontext { unsigned long r8; unsigned long r9; unsigned long r10; unsigned long r11; unsigned long r12; unsigned long r13; unsigned long r14; unsigned long r15; unsigned long rdi; unsigned long rsi; unsigned long rbp; unsigned long rbx; unsigned long rdx; unsigned long rax; unsigned long rcx; unsigned long rsp; unsigned long rip; unsigned long eflags; unsigned short cs; unsigned short gs; unsigned short fs; unsigned short __pad0; unsigned long err; unsigned long trapno; unsigned long oldmask; unsigned long cr2; struct _fpstate * fpstate; unsigned long __reserved1 [8]; }; # 334 "/usr/include/signal.h" 2 3 4 extern int sigreturn (struct sigcontext *__scp) __attribute__ ((__nothrow__)); # 346 "/usr/include/signal.h" 3 4 extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__)); # 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; # 349 "/usr/include/signal.h" 2 3 4 # 357 "/usr/include/signal.h" 3 4 extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__)); extern int sigaltstack (const struct sigaltstack *__restrict __ss, struct sigaltstack *__restrict __oss) __attribute__ ((__nothrow__)); # 387 "/usr/include/signal.h" 3 4 # 1 "/usr/include/bits/sigthread.h" 1 3 4 # 31 "/usr/include/bits/sigthread.h" 3 4 extern int pthread_sigmask (int __how, const __sigset_t *__restrict __newmask, __sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__)); extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__)); # 388 "/usr/include/signal.h" 2 3 4 extern int __libc_current_sigrtmin (void) __attribute__ ((__nothrow__)); extern int __libc_current_sigrtmax (void) __attribute__ ((__nothrow__)); # 32 "/usr/include/sys/wait.h" 2 3 4 # 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 # 33 "/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_SIGPENDING = 11, __RLIMIT_MSGQUEUE = 12, __RLIMIT_NICE = 13, __RLIMIT_RTPRIO = 14, __RLIMIT_NLIMITS = 15, __RLIM_NLIMITS = __RLIMIT_NLIMITS }; # 129 "/usr/include/bits/resource.h" 3 4 typedef __rlim64_t rlim_t; struct rlimit { rlim_t rlim_cur; rlim_t rlim_max; }; # 154 "/usr/include/bits/resource.h" 3 4 enum __rusage_who { RUSAGE_SELF = 0, RUSAGE_CHILDREN = -1 }; # 1 "/usr/include/bits/time.h" 1 3 4 # 167 "/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 # 43 "/usr/include/sys/resource.h" 3 4 typedef int __rlimit_resource_t; typedef int __rusage_who_t; typedef int __priority_which_t; # 55 "/usr/include/sys/resource.h" 3 4 extern int getrlimit (__rlimit_resource_t __resource, struct rlimit *__rlimits) __asm__ ("" "getrlimit64") __attribute__ ((__nothrow__)); # 74 "/usr/include/sys/resource.h" 3 4 extern int setrlimit (__rlimit_resource_t __resource, const struct rlimit *__rlimits) __asm__ ("" "setrlimit64") __attribute__ ((__nothrow__)); # 88 "/usr/include/sys/resource.h" 3 4 extern int getrusage (__rusage_who_t __who, struct rusage *__usage) __attribute__ ((__nothrow__)); extern int getpriority (__priority_which_t __which, id_t __who) __attribute__ ((__nothrow__)); extern int setpriority (__priority_which_t __which, id_t __who, int __prio) __attribute__ ((__nothrow__)); # 33 "/usr/include/sys/wait.h" 2 3 4 # 1 "/usr/include/bits/waitflags.h" 1 3 4 # 39 "/usr/include/sys/wait.h" 2 3 4 # 63 "/usr/include/sys/wait.h" 3 4 typedef union { union wait *__uptr; int *__iptr; } __WAIT_STATUS __attribute__ ((__transparent_union__)); # 80 "/usr/include/sys/wait.h" 3 4 # 1 "/usr/include/bits/waitstatus.h" 1 3 4 # 67 "/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; }; # 81 "/usr/include/sys/wait.h" 2 3 4 # 102 "/usr/include/sys/wait.h" 3 4 typedef enum { P_ALL, P_PID, P_PGID } idtype_t; # 116 "/usr/include/sys/wait.h" 3 4 extern __pid_t wait (__WAIT_STATUS __stat_loc); # 139 "/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 # 144 "/usr/include/sys/wait.h" 2 3 4 # 155 "/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) __attribute__ ((__nothrow__)); extern __pid_t wait4 (__pid_t __pid, __WAIT_STATUS __stat_loc, int __options, struct rusage *__usage) __attribute__ ((__nothrow__)); # 18 "../include/zsfunctions.h" 2 # 1 "/usr/include/sys/param.h" 1 3 4 # 22 "/usr/include/sys/param.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/limits.h" 1 3 4 # 11 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/limits.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/syslimits.h" 1 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/limits.h" 1 3 4 # 122 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/limits.h" 3 4 # 1 "/usr/include/limits.h" 1 3 4 # 145 "/usr/include/limits.h" 3 4 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4 # 153 "/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 # 154 "/usr/include/bits/posix1_lim.h" 2 3 4 # 146 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/posix2_lim.h" 1 3 4 # 150 "/usr/include/limits.h" 2 3 4 # 123 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/limits.h" 2 3 4 # 8 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/syslimits.h" 2 3 4 # 12 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/limits.h" 2 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 # 1 "/usr/include/asm-x86_64/param.h" 1 3 4 # 6 "/usr/include/asm/param.h" 2 3 4 # 5 "/usr/include/linux/param.h" 2 3 4 # 25 "/usr/include/sys/param.h" 2 3 4 # 21 "../include/zsfunctions.h" 2 # 1 "/usr/include/unistd.h" 1 3 4 # 28 "/usr/include/unistd.h" 3 4 # 173 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/bits/posix_opt.h" 1 3 4 # 174 "/usr/include/unistd.h" 2 3 4 # 197 "/usr/include/unistd.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/stddef.h" 1 3 4 # 198 "/usr/include/unistd.h" 2 3 4 # 226 "/usr/include/unistd.h" 3 4 typedef __useconds_t useconds_t; # 238 "/usr/include/unistd.h" 3 4 typedef __intptr_t intptr_t; typedef __socklen_t socklen_t; # 258 "/usr/include/unistd.h" 3 4 extern int access (const char *__name, int __type) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 304 "/usr/include/unistd.h" 3 4 extern __off64_t lseek (int __fd, __off64_t __offset, int __whence) __asm__ ("" "lseek64") __attribute__ ((__nothrow__)); # 320 "/usr/include/unistd.h" 3 4 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) ; # 384 "/usr/include/unistd.h" 3 4 extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__)) ; # 393 "/usr/include/unistd.h" 3 4 extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__)); # 405 "/usr/include/unistd.h" 3 4 extern unsigned int sleep (unsigned int __seconds); extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) __attribute__ ((__nothrow__)); extern int usleep (__useconds_t __useconds); # 429 "/usr/include/unistd.h" 3 4 extern int pause (void); extern int chown (const char *__file, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__)) ; extern int lchown (const char *__file, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 457 "/usr/include/unistd.h" 3 4 extern int chdir (const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int fchdir (int __fd) __attribute__ ((__nothrow__)) ; # 471 "/usr/include/unistd.h" 3 4 extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__)) ; # 484 "/usr/include/unistd.h" 3 4 extern char *getwd (char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ; extern int dup (int __fd) __attribute__ ((__nothrow__)) ; extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__)); extern char **__environ; extern int execve (const char *__path, char *const __argv[], char *const __envp[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 516 "/usr/include/unistd.h" 3 4 extern int execv (const char *__path, char *const __argv[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int execle (const char *__path, const char *__arg, ...) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int execl (const char *__path, const char *__arg, ...) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int execvp (const char *__file, char *const __argv[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int execlp (const char *__file, const char *__arg, ...) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int nice (int __inc) __attribute__ ((__nothrow__)) ; 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, _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, _SC_RAW_SOCKETS }; 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 }; # 555 "/usr/include/unistd.h" 2 3 4 extern long int pathconf (const char *__path, int __name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__)); extern long int sysconf (int __name) __attribute__ ((__nothrow__)); extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__)); extern __pid_t getpid (void) __attribute__ ((__nothrow__)); extern __pid_t getppid (void) __attribute__ ((__nothrow__)); extern __pid_t getpgrp (void) __attribute__ ((__nothrow__)); # 591 "/usr/include/unistd.h" 3 4 extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__)); # 600 "/usr/include/unistd.h" 3 4 extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__)); # 617 "/usr/include/unistd.h" 3 4 extern int setpgrp (void) __attribute__ ((__nothrow__)); # 634 "/usr/include/unistd.h" 3 4 extern __pid_t setsid (void) __attribute__ ((__nothrow__)); extern __uid_t getuid (void) __attribute__ ((__nothrow__)); extern __uid_t geteuid (void) __attribute__ ((__nothrow__)); extern __gid_t getgid (void) __attribute__ ((__nothrow__)); extern __gid_t getegid (void) __attribute__ ((__nothrow__)); extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__)) ; # 667 "/usr/include/unistd.h" 3 4 extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__)); extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__)); extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__)); extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__)); extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__)); extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__)); # 723 "/usr/include/unistd.h" 3 4 extern __pid_t fork (void) __attribute__ ((__nothrow__)); extern __pid_t vfork (void) __attribute__ ((__nothrow__)); extern char *ttyname (int __fd) __attribute__ ((__nothrow__)); extern int ttyname_r (int __fd, char *__buf, size_t __buflen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ; extern int isatty (int __fd) __attribute__ ((__nothrow__)); extern int ttyslot (void) __attribute__ ((__nothrow__)); extern int link (const char *__from, const char *__to) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ; # 769 "/usr/include/unistd.h" 3 4 extern int symlink (const char *__from, const char *__to) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ; extern ssize_t readlink (const char *__restrict __path, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ; # 792 "/usr/include/unistd.h" 3 4 extern int unlink (const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 801 "/usr/include/unistd.h" 3 4 extern int rmdir (const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__)); extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__)); extern char *getlogin (void); extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))); extern int setlogin (const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 837 "/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) __attribute__ ((__nothrow__)); # 838 "/usr/include/unistd.h" 2 3 4 extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int sethostname (const char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int sethostid (long int __id) __attribute__ ((__nothrow__)) ; extern int getdomainname (char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int setdomainname (const char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int vhangup (void) __attribute__ ((__nothrow__)); extern int revoke (const char *__file) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int acct (const char *__name) __attribute__ ((__nothrow__)); extern char *getusershell (void) __attribute__ ((__nothrow__)); extern void endusershell (void) __attribute__ ((__nothrow__)); extern void setusershell (void) __attribute__ ((__nothrow__)); extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__)) ; extern int chroot (const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern char *getpass (const char *__prompt) __attribute__ ((__nonnull__ (1))); # 923 "/usr/include/unistd.h" 3 4 extern int fsync (int __fd); extern long int gethostid (void); extern void sync (void) __attribute__ ((__nothrow__)); extern int getpagesize (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int getdtablesize (void) __attribute__ ((__nothrow__)); # 952 "/usr/include/unistd.h" 3 4 extern int truncate (const char *__file, __off64_t __length) __asm__ ("" "truncate64") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 973 "/usr/include/unistd.h" 3 4 extern int ftruncate (int __fd, __off64_t __length) __asm__ ("" "ftruncate64") __attribute__ ((__nothrow__)) ; # 990 "/usr/include/unistd.h" 3 4 extern int brk (void *__addr) __attribute__ ((__nothrow__)) ; extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__)); # 1011 "/usr/include/unistd.h" 3 4 extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__)); # 1065 "/usr/include/unistd.h" 3 4 extern int fdatasync (int __fildes); # 1103 "/usr/include/unistd.h" 3 4 # 22 "../include/zsfunctions.h" 2 # 38 "../include/zsfunctions.h" # 1 "../../config.h" 1 # 39 "../include/zsfunctions.h" 2 # 1 "../include/objects.h" 1 # 1 "../include/constants.h" 1 # 1 "../include/../conf/zsconfig.h" 1 # 2 "../include/constants.h" 2 # 1 "../include/../include/zsconfig.defaults.h" 1 # 3 "../include/constants.h" 2 # 382 "../include/constants.h" enum ReleaseTypes { RTYPE_NULL = 0, RTYPE_RAR = 1, RTYPE_OTHER = 2, RTYPE_AUDIO = 3, RTYPE_VIDEO = 4, RTYPE_INVALID, }; # 9 "../include/objects.h" 2 # 38 "../include/objects.h" # 1 "../include/../conf/zsconfig.h" 1 # 39 "../include/objects.h" 2 # 1 "../include/../include/zsconfig.defaults.h" 1 # 40 "../include/objects.h" 2 struct USERINFO { char name[24]; off_t bytes; double speed; unsigned int files; unsigned int pos; unsigned int group; unsigned long long dayup; unsigned long long wkup; unsigned long long monthup; unsigned long long allup; }; struct GROUPINFO { char name[24]; off_t bytes; double speed; unsigned int files; unsigned int pos; unsigned int users; }; struct audio { char id3_artist[31]; char id3_title [31]; char id3_album [31]; char id3_year [5]; char bitrate [5]; char samplingrate[6]; char *id3_genre; char *layer; char *codec; char *channelmode; char vbr_version_string[10]; char vbr_preset[15]; int is_vbr; char vbr_oldnew[1]; int vbr_quality; int vbr_minimum_bitrate; int vbr_noiseshaping; char vbr_stereo_mode[10]; char vbr_unwise[4]; char vbr_source[10]; }; struct VIDEO { int height; int width; double fps; char vids[30]; char fourcc[15]; long hz; int ch; char audio[30]; char audiotype[30]; }; struct current_user { char name [24]; char group [24]; char tagline [255]; short int pos; }; struct current_file { char name[255]; char unlink[255]; unsigned int speed; off_t size; char compression_method; }; struct race_total { unsigned int start_time; unsigned int stop_time; unsigned char users; unsigned char groups; int files; int files_missing; int files_bad; unsigned char nfo_present; double speed; off_t size; off_t bad_size; }; struct misc { char old_leader[24]; char release_name[4096]; char current_path[4096]; char basepath[4096]; char racer_list[1024]; char total_racer_list[1024]; char top_messages[2][1024]; char error_msg [80]; char progress_bar[15]; int release_type; unsigned char write_log; long fastest_user[2]; long slowest_user[2]; unsigned int data_completed; }; struct LOCATIONS { char *leader; char *nfo_incomplete; char *incomplete; char *sfv; char *sfvbackup; char *sfv_incomplete; char *race; char link_target[4096]; char link_source[4096]; char path[4096]; char basepath[4096]; unsigned int length_path; unsigned int length_zipdatadir; unsigned int in_cd_dir; }; struct VARS { struct current_user user; struct current_file file; struct race_total total; struct misc misc; struct audio audio; struct VIDEO avinfo; unsigned char section; char sectionname[128]; char headpath[4096]; unsigned int data_incrementor; unsigned int data_in_use; unsigned int data_queue; unsigned int data_type; char id3_artist[31]; char id3_genre[31]; }; typedef struct { struct USERINFO **ui; struct GROUPINFO **gi; struct VARS v; struct LOCATIONS l; } GLOBAL; # 41 "../include/zsfunctions.h" 2 # 1 "../include/macros.h" 1 # 1 "../../config.h" 1 # 6 "../include/macros.h" 2 # 1 "/usr/include/dirent.h" 1 3 4 # 28 "/usr/include/dirent.h" 3 4 # 62 "/usr/include/dirent.h" 3 4 # 1 "/usr/include/bits/dirent.h" 1 3 4 # 23 "/usr/include/bits/dirent.h" 3 4 struct dirent { __ino64_t d_ino; __off64_t d_off; unsigned short int d_reclen; unsigned char d_type; char d_name[256]; }; # 63 "/usr/include/dirent.h" 2 3 4 # 98 "/usr/include/dirent.h" 3 4 enum { DT_UNKNOWN = 0, DT_FIFO = 1, DT_CHR = 2, DT_DIR = 4, DT_BLK = 6, DT_REG = 8, DT_LNK = 10, DT_SOCK = 12, DT_WHT = 14 }; # 128 "/usr/include/dirent.h" 3 4 typedef struct __dirstream DIR; extern DIR *opendir (const char *__name) __attribute__ ((__nonnull__ (1))); # 150 "/usr/include/dirent.h" 3 4 extern int closedir (DIR *__dirp) __attribute__ ((__nonnull__ (1))); # 166 "/usr/include/dirent.h" 3 4 extern struct dirent *readdir (DIR *__dirp) __asm__ ("" "readdir64") __attribute__ ((__nonnull__ (1))); # 190 "/usr/include/dirent.h" 3 4 extern int readdir_r (DIR *__restrict __dirp, struct dirent *__restrict __entry, struct dirent **__restrict __result) __asm__ ("" "readdir64_r") __attribute__ ((__nonnull__ (1, 2, 3))); # 209 "/usr/include/dirent.h" 3 4 extern void rewinddir (DIR *__dirp) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void seekdir (DIR *__dirp, long int __pos) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int telldir (DIR *__dirp) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int dirfd (DIR *__dirp) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 243 "/usr/include/dirent.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.1.3/include/stddef.h" 1 3 4 # 244 "/usr/include/dirent.h" 2 3 4 # 257 "/usr/include/dirent.h" 3 4 extern int scandir (const char *__restrict __dir, struct dirent ***__restrict __namelist, int (*__selector) (const struct dirent *), int (*__cmp) (const void *, const void *)) __asm__ ("" "scandir64") __attribute__ ((__nonnull__ (1, 2))); # 284 "/usr/include/dirent.h" 3 4 extern int alphasort (const void *__e1, const void *__e2) __asm__ ("" "alphasort64") __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 330 "/usr/include/dirent.h" 3 4 extern __ssize_t getdirentries (int __fd, char *__restrict __buf, size_t __nbytes, __off64_t *__restrict __basep) __asm__ ("" "getdirentries64") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); # 349 "/usr/include/dirent.h" 3 4 # 10 "../include/macros.h" 2 # 42 "../include/zsfunctions.h" 2 # 1 "../include/constants.h" 1 # 1 "../include/../conf/zsconfig.h" 1 # 2 "../include/constants.h" 2 # 1 "../include/../include/zsconfig.defaults.h" 1 # 3 "../include/constants.h" 2 # 46 "../include/zsfunctions.h" 2 # 78 "../include/zsfunctions.h" struct GROUP { char *name; gid_t id; }; struct USER { char *name; uid_t id; }; extern struct dirent **dirlist; extern unsigned int direntries; extern void d_log(char *,...); extern void create_missing(char *); extern char *findfileext(DIR *, char *); extern char *findfileextparent(DIR *, char *); extern char *findfileext_old_(char *); extern char *findfileext_old_parent(char *); extern int findfileextcount(DIR *, char *); extern int file_count(DIR *); extern unsigned int hexstrtodec(char *); extern int selector(const struct dirent *); extern void del_releasedir(DIR *, char *); extern void strtolower(char *); extern void space_to_dot(char *); extern void unlink_missing(char *); extern char israr(char *); extern void buffer_progress_bar(struct VARS *); extern void move_progress_bar(unsigned char, struct VARS *, struct USERINFO **, struct GROUPINFO **); extern int check_dupefile(DIR *, char *); extern long findfile(DIR *, char *); extern char *findfilename(char *, char *, struct VARS *); extern char *check_nocase_linkname(char *, char *); extern void removedotfiles(DIR *); extern void removecomplete(void); extern short matchpath(char *, char *); extern short matchpartialpath(char *, char *); extern short strcomp(char *, char *); extern short subcomp(char *, char *); extern short fileexists(char *); extern void createlink(char *, char *, char *, char *); extern void readsfv_ffile(struct VARS *); extern void get_rar_info(struct VARS *); extern int execute(char *); extern char *get_g_name(int); extern char *get_u_name(int); extern int buffer_groups(char *, int); extern int buffer_users(char *, int); extern unsigned long sfv_compare_size(char *, unsigned long); extern void mark_as_bad(char *); extern int extractDirname(char *dirname, char *absoluteDirname); extern void writelog(GLOBAL *, char *, char *); extern void buffer_paths(GLOBAL *, char [2][4096], int *, int); extern void remove_nfo_indicator(GLOBAL *); extern void getrelname(GLOBAL *); extern unsigned char get_filetype(GLOBAL *, char *); extern void *ng_realloc(void *, int, int, int, struct VARS *, int); extern void *ng_realloc2(void *, int, int, int, int); extern void *ng_free(void *); extern int copyfile(char *, char *); extern int make_sfv(char *); extern unsigned int match_lenient(DIR *, char *); extern unsigned int insampledir(char *); # 23 "zipscript-c.c" 2 # 1 "../include/race-file.h" 1 # 1 "../include/zsfunctions.h" 1 # 7 "../include/race-file.h" 2 typedef struct { unsigned int crc32, speed; off_t size; time_t start_time; unsigned char status; unsigned char dummy; char fname[255 +4-255%4], uname[24], group[24], id3_artist[31], id3_genre[31]; } RACEDATA; typedef struct { unsigned int crc32; char fname[255 +4-255%4]; } SFVDATA; typedef struct { unsigned int data_version, data_type, data_in_use, data_incrementor, data_queue, data_qcurrent, data_pid, data_completed; } HEADDATA; extern unsigned int readsfv(const char *, struct VARS *, int); extern void update_sfvdata(const char *, const char *, const unsigned int); extern void delete_sfv(const char *, struct VARS *); extern void readrace(const char *, struct VARS *, struct USERINFO **, struct GROUPINFO **); extern void maketempdir(char *); extern void read_write_leader(const char *, struct VARS *, struct USERINFO *); extern void testfiles(struct LOCATIONS *, struct VARS *, int); extern int copysfv(const char *, const char *, struct VARS *); extern void create_indexfile(const char *, struct VARS *, char *); extern short clear_file(const char *, char *); extern void writerace(const char *, struct VARS *, unsigned int, unsigned char); extern void remove_from_race(const char *, const char *, struct VARS *); extern int verify_racedata(const char *, struct VARS *); extern int create_lock(struct VARS *, const char *, unsigned int, unsigned int, unsigned int); extern void remove_lock(struct VARS *); extern int update_lock(struct VARS *, unsigned int, unsigned int); extern short match_file(char *, char *); extern int check_rarfile(const char *); extern int check_zipfile(const char *, const char *, int); extern void removedir(const char *); extern void create_dirlist(const char *, char *, const int); extern int filebanned_match(const char *); extern int lenient_compare(char *, char *); # 24 "zipscript-c.c" 2 # 1 "../include/objects.h" 1 # 25 "zipscript-c.c" 2 # 1 "../include/macros.h" 1 # 26 "zipscript-c.c" 2 # 1 "../include/constants.h" 1 # 1 "../include/../conf/zsconfig.h" 1 # 2 "../include/constants.h" 2 # 1 "../include/../include/zsconfig.defaults.h" 1 # 3 "../include/constants.h" 2 # 31 "zipscript-c.c" 2 # 1 "../include/multimedia.h" 1 # 1 "../include/avi.h" 1 # 21 "../include/avi.h" typedef unsigned long FOURCC; typedef unsigned long DWORD; typedef unsigned short WORD; typedef struct { DWORD dwMicroSecPerFrame; DWORD dwMaxBytesPerSec; DWORD dwPaddingGranularity; DWORD dwFlags; DWORD dwTotalFrames; DWORD dwInitialFrames; DWORD dwStreams; DWORD dwSuggestedBufferSize; DWORD dwWidth; DWORD dwHeight; DWORD dwReserved[4]; } AVIMAINHEADER; typedef struct { FOURCC fccType; FOURCC fccHandler; DWORD dwFlags; WORD wPriority; WORD wLanguage; DWORD dwInitialFrames; DWORD dwScale; DWORD dwRate; DWORD dwStart; DWORD dwLength; DWORD dwSuggestedBufferSize; DWORD dwQuality; DWORD dwSampleSize; struct { short int left; short int top; short int right; short int bottom; } rcFrame; } AVISTREAMHEADER; typedef struct { WORD wFormatTag; WORD nChannels; DWORD nSamplesPerSec; DWORD nAvgBytesPerSec; WORD nBlockAlign; WORD wBitsPerSample; WORD cbSize; } WAVEFORMATEX; typedef struct { DWORD biSize; DWORD biWidth; DWORD biHeight; WORD biPlanes; WORD biBitCount; DWORD biCompression; DWORD biSizeImage; DWORD biXPelsPerMeter; DWORD biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant; } BITMAPINFOHEADER; # 2 "../include/multimedia.h" 2 char *trim(char *); char *get_preset(char[4]); void get_mpeg_audio_info(char *, struct audio *); const unsigned char *fourcc(FOURCC); void avierror(const char *); DWORD get32(FILE *); WORD get16(FILE *); int avinfo(char *, struct VIDEO *); # 34 "zipscript-c.c" 2 # 1 "../include/convert.h" 1 char *hms(char *, int); char *convert(struct VARS *, struct USERINFO **, struct GROUPINFO **, char *); char *convert_user(struct VARS *, struct USERINFO *, struct GROUPINFO **, char *, short); char *convert_group(struct VARS *, struct GROUPINFO *, char *, short); char *convert_audio(struct VARS *, char *); char *convert_sitename(char *); char *incomplete(char *, char [2][4096], struct VARS *, int); # 35 "zipscript-c.c" 2 # 1 "../include/dizreader.h" 1 void removespaces(char *, int); int read_diz(void); # 36 "zipscript-c.c" 2 # 1 "../include/stats.h" 1 struct userdata { unsigned long long allup_bytes; unsigned long long monthup_bytes; unsigned long long wkup_bytes; unsigned long long dayup_bytes; short name; }; void updatestats_free(GLOBAL *); void updatestats(struct VARS *, struct USERINFO **, struct GROUPINFO **, char *, char *, off_t, unsigned int, unsigned int); void sortstats(struct VARS *, struct USERINFO **, struct GROUPINFO **); void showstats(struct VARS *, struct USERINFO **, struct GROUPINFO **); void get_stats(struct VARS *, struct USERINFO **); # 37 "zipscript-c.c" 2 # 1 "../include/complete.h" 1 extern void complete(GLOBAL *, int); extern void writetop(GLOBAL *, int); # 38 "zipscript-c.c" 2 # 1 "../include/crc.h" 1 unsigned int calc_crc32(char *); # 39 "zipscript-c.c" 2 # 1 "../include/ng-version.h" 1 extern const char *ng_version; # 40 "zipscript-c.c" 2 # 1 "../include/print_config.h" 1 void print_nondefault_config(void); void print_full_config(void); # 41 "zipscript-c.c" 2 # 1 "../include/audiosort.h" 1 extern void audioSortDir(char *); extern void audioSort(struct audio *, char *, char *); # 42 "zipscript-c.c" 2 # 1 "../conf/zsconfig.h" 1 # 44 "zipscript-c.c" 2 # 1 "../include/zsconfig.defaults.h" 1 # 46 "zipscript-c.c" 2 # 1 "../include/errors.h" 1 # 47 "zipscript-c.c" 2 int main(int argc, char **argv) { GLOBAL g; DIR *dir, *parent; struct dirent *dp; char temp_path[4096]; char *fileext = ((void *)0), *name_p, *temp_p = ((void *)0), *temp_p_free = ((void *)0); char *target = 0; char *vinfo = 0; char *ext = 0; char *crc_arg = ((void *)0); char *complete_msg = 0; char *update_msg = 0; char *race_msg = 0; char *sfv_msg = 0; char *update_type = 0; char *newleader_msg = 0; char *halfway_msg = 0; char *complete_bar = 0; char *error_msg = 0; unsigned int crc, gnum = 0, unum = 0, s_crc = 0; unsigned char exit_value = 0; unsigned char no_check = 0; char *sfv_type = 0; char *race_type = 0; char *newleader_type = 0; char *race_halfway_type = 0; char *norace_halfway_type = 0; char *inc_point[2]; char *affillist = 0; unsigned char affil_upload = 0; unsigned char complete_type = 0; char *complete_announce = 0; int cnt, cnt2, n = 0, m = 0; int write_log = 0; long loc; struct stat fileinfo; struct timeval bstart, bstop; d_log("zipscript-c: Reading time for benchmark\n"); gettimeofday(&bstart, (struct timezone *)0); # 118 "zipscript-c.c" d_log("zipscript-c: Project-ZS Next Generation (pzs-ng) %s debug log.\n", ng_version); umask(0666 & 000); if ( 0 > 0 ) { d_log("zipscript-c: Trying to change effective uid/gid\n"); setegid(0); seteuid(0); } else if (!geteuid()) { d_log("zipscript-c: +s mode detected - trying to change effective uid/gid to !root\n"); if (setegid(getgid()) == -1) d_log("zipscript-c: failed to change gid: %s\n", strerror((*__errno_location ()))); if (seteuid(getuid()) == -1) d_log("zipscript-c: failed to change uid: %s\n", strerror((*__errno_location ()))); } if (argc == 2 && __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ("--fullconfig") && __builtin_constant_p (argv[1]) && (__s1_len = strlen ("--fullconfig"), __s2_len = strlen (argv[1]), (!((size_t)(const void *)(("--fullconfig") + 1) - (size_t)(const void *)("--fullconfig") == 1) || __s1_len >= 4) && (!((size_t)(const void *)((argv[1]) + 1) - (size_t)(const void *)(argv[1]) == 1) || __s2_len >= 4)) ? __builtin_strcmp ("--fullconfig", argv[1]) : (__builtin_constant_p ("--fullconfig") && ((size_t)(const void *)(("--fullconfig") + 1) - (size_t)(const void *)("--fullconfig") == 1) && (__s1_len = strlen ("--fullconfig"), __s1_len < 4) ? (__builtin_constant_p (argv[1]) && ((size_t)(const void *)((argv[1]) + 1) - (size_t)(const void *)(argv[1]) == 1) ? __builtin_strcmp ("--fullconfig", argv[1]) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (argv[1]); register int __result = (((const unsigned char *) (const char *) ("--fullconfig"))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("--fullconfig"))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("--fullconfig"))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("--fullconfig"))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (argv[1]) && ((size_t)(const void *)((argv[1]) + 1) - (size_t)(const void *)(argv[1]) == 1) && (__s2_len = strlen (argv[1]), __s2_len < 4) ? (__builtin_constant_p ("--fullconfig") && ((size_t)(const void *)(("--fullconfig") + 1) - (size_t)(const void *)("--fullconfig") == 1) ? __builtin_strcmp ("--fullconfig", argv[1]) : (__extension__ ({ const unsigned char *__s1 = (const unsigned char *) (const char *) ("--fullconfig"); register int __result = __s1[0] - ((const unsigned char *) (const char *) (argv[1]))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((const unsigned char *) (const char *) (argv[1]))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((const unsigned char *) (const char *) (argv[1]))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((const unsigned char *) (const char *) (argv[1]))[3]); } } __result; }))) : __builtin_strcmp ("--fullconfig", argv[1])))); }) == 0) { print_full_config(); exit(0); } if (argc == 2 && __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ("--config") && __builtin_constant_p (argv[1]) && (__s1_len = strlen ("--config"), __s2_len = strlen (argv[1]), (!((size_t)(const void *)(("--config") + 1) - (size_t)(const void *)("--config") == 1) || __s1_len >= 4) && (!((size_t)(const void *)((argv[1]) + 1) - (size_t)(const void *)(argv[1]) == 1) || __s2_len >= 4)) ? __builtin_strcmp ("--config", argv[1]) : (__builtin_constant_p ("--config") && ((size_t)(const void *)(("--config") + 1) - (size_t)(const void *)("--config") == 1) && (__s1_len = strlen ("--config"), __s1_len < 4) ? (__builtin_constant_p (argv[1]) && ((size_t)(const void *)((argv[1]) + 1) - (size_t)(const void *)(argv[1]) == 1) ? __builtin_strcmp ("--config", argv[1]) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (argv[1]); register int __result = (((const unsigned char *) (const char *) ("--config"))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("--config"))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("--config"))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("--config"))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (argv[1]) && ((size_t)(const void *)((argv[1]) + 1) - (size_t)(const void *)(argv[1]) == 1) && (__s2_len = strlen (argv[1]), __s2_len < 4) ? (__builtin_constant_p ("--config") && ((size_t)(const void *)(("--config") + 1) - (size_t)(const void *)("--config") == 1) ? __builtin_strcmp ("--config", argv[1]) : (__extension__ ({ const unsigned char *__s1 = (const unsigned char *) (const char *) ("--config"); register int __result = __s1[0] - ((const unsigned char *) (const char *) (argv[1]))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((const unsigned char *) (const char *) (argv[1]))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((const unsigned char *) (const char *) (argv[1]))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((const unsigned char *) (const char *) (argv[1]))[3]); } } __result; }))) : __builtin_strcmp ("--config", argv[1])))); }) == 0) { print_nondefault_config(); exit(0); } if (argc < 8) { d_log("zipscript-c: Wrong number of arguments used (wzdftpd compatible)\n"); printf(" - - PZS-NG ZipScript-C %s - -\n\nUsage: %s
\n", ng_version, argv[0]); printf(" Usage: %s --(full)config - shows (full) config compiled.\n\n", argv[0]); exit(1); } crc_arg = argv[2]; # 167 "zipscript-c.c" d_log("zipscript-c: Clearing arrays\n"); bzero(&g.v.total, sizeof(struct race_total)); g.v.misc.slowest_user[0] = 30000; g.v.misc.fastest_user[0] = g.v.misc.release_type = RTYPE_NULL; if (realpath(argv[1], temp_path) != temp_path) { d_log("zipscript-c: Could not realpath(\"%s\", temp_path): %s\n", temp_path, strerror((*__errno_location ()))); strlcpy(temp_path, argv[1], 4096); } strlcpy(g.l.path, temp_path, (((4096)<(strrchr(temp_path, '/') - temp_path + 1))?(4096):(strrchr(temp_path, '/') - temp_path + 1))); strlcpy(g.v.file.name, strrchr(temp_path, '/') + 1, 255); # 200 "zipscript-c.c" strlcpy(g.v.misc.current_path, g.l.path, 4096); d_log("zipscript-c: Changing directory to %s\n", g.l.path); chdir(g.l.path); if (subcomp(g.l.path, g.l.basepath) && (g.l.basepath[0] == '\0')) strlcpy(g.l.basepath, g.l.path, 4096); if (strlen(g.l.basepath) && (__extension__ (__builtin_constant_p (4096) && ((__builtin_constant_p (g.l.path) && strlen (g.l.path) < ((size_t) (4096))) || (__builtin_constant_p (g.l.basepath) && strlen (g.l.basepath) < ((size_t) (4096)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (g.l.path) && __builtin_constant_p (g.l.basepath) && (__s1_len = strlen (g.l.path), __s2_len = strlen (g.l.basepath), (!((size_t)(const void *)((g.l.path) + 1) - (size_t)(const void *)(g.l.path) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((g.l.basepath) + 1) - (size_t)(const void *)(g.l.basepath) == 1) || __s2_len >= 4)) ? __builtin_strcmp (g.l.path, g.l.basepath) : (__builtin_constant_p (g.l.path) && ((size_t)(const void *)((g.l.path) + 1) - (size_t)(const void *)(g.l.path) == 1) && (__s1_len = strlen (g.l.path), __s1_len < 4) ? (__builtin_constant_p (g.l.basepath) && ((size_t)(const void *)((g.l.basepath) + 1) - (size_t)(const void *)(g.l.basepath) == 1) ? __builtin_strcmp (g.l.path, g.l.basepath) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (g.l.basepath); register int __result = (((const unsigned char *) (const char *) (g.l.path))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (g.l.path))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (g.l.path))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (g.l.path))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (g.l.basepath) && ((size_t)(const void *)((g.l.basepath) + 1) - (size_t)(const void *)(g.l.basepath) == 1) && (__s2_len = strlen (g.l.basepath), __s2_len < 4) ? (__builtin_constant_p (g.l.path) && ((size_t)(const void *)((g.l.path) + 1) - (size_t)(const void *)(g.l.path) == 1) ? __builtin_strcmp (g.l.path, g.l.basepath) : (__extension__ ({ const unsigned char *__s1 = (const unsigned char *) (const char *) (g.l.path); register int __result = __s1[0] - ((const unsigned char *) (const char *) (g.l.basepath))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((const unsigned char *) (const char *) (g.l.basepath))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((const unsigned char *) (const char *) (g.l.basepath))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((const unsigned char *) (const char *) (g.l.basepath))[3]); } } __result; }))) : __builtin_strcmp (g.l.path, g.l.basepath)))); }) : strncmp (g.l.path, g.l.basepath, 4096)))) d_log("zipscript-c: We are in subdir of %s\n", g.l.basepath); __builtin_strncpy (g.v.misc.current_path, g.l.path, sizeof(g.v.misc.current_path)); __builtin_strncpy (g.v.misc.basepath, g.l.basepath, sizeof(g.v.misc.basepath)); d_log("zipscript-c: Reading data from commandline (wzdftpd compatible)\n"); sprintf(g.v.user.name, argv[3]); sprintf(g.v.user.group, argv[4]); if (!(int)strlen(g.v.user.group)) memcpy(g.v.user.group, "NoGroup", 8); sprintf(g.v.user.tagline, argv[5]); if (!(int)strlen(g.v.user.tagline)) memcpy(g.v.user.tagline, "No Tagline Set", 15); g.v.file.speed = (unsigned int)strtol(argv[6], ((void *)0), 0); if (!g.v.file.speed) g.v.file.speed = 1; d_log("zipscript-c: Reading section from arg (%s)\n", argv[7]); snprintf(g.v.sectionname, 127, argv[7]); g.v.section = 0; # 309 "zipscript-c.c" d_log("zipscript-c: Checking the file size of %s\n", g.v.file.name); if (stat(g.v.file.name, &fileinfo)) { d_log("zipscript-c: Failed to stat file: %s\n", strerror((*__errno_location ()))); g.v.file.size = 0; g.v.total.stop_time = 0; } else { g.v.file.size = fileinfo.st_size; d_log("zipscript-c: File size was: %d\n", g.v.file.size); g.v.total.stop_time = fileinfo.st_mtim.tv_sec; } d_log("zipscript-c: Setting race times\n"); if (g.v.file.size != 0) g.v.total.start_time = g.v.total.stop_time - ((unsigned int)(g.v.file.size) / g.v.file.speed); else g.v.total.start_time = g.v.total.stop_time > (g.v.total.stop_time - 1) ? g.v.total.stop_time : (g.v.total.stop_time -1); if ((int)(g.v.total.stop_time - g.v.total.start_time) < 1) g.v.total.stop_time = g.v.total.start_time + 1; n = (g.l.length_path = (int)strlen(g.l.path)) + 1; d_log("zipscript-c: Allocating memory for variables\n"); g.l.race = ng_realloc2(g.l.race, n += 12 + (g.l.length_zipdatadir = sizeof("/opt/wzdftpd/ftp-data/pzs-ng/") - 1), 1, 1, 1); g.l.sfv = ng_realloc2(g.l.sfv, n, 1, 1, 1); g.l.sfvbackup = ng_realloc2(g.l.sfvbackup, n, 1, 1, 1); g.l.leader = ng_realloc2(g.l.leader, n, 1, 1, 1); g.l.sfv_incomplete = 0; target = ng_realloc2(target, n + 256, 1, 1, 1); vinfo = ng_realloc2(vinfo, sizeof(struct VIDEO *), 1, 1, 1); g.ui = ng_realloc2(g.ui, sizeof(struct USERINFO *) * 100, 1, 1, 1); g.gi = ng_realloc2(g.gi, sizeof(struct GROUPINFO *) * 100, 1, 1, 1); d_log("zipscript-c: Copying data g.l into memory\n"); sprintf(g.l.sfv, "/opt/wzdftpd/ftp-data/pzs-ng/" "/%s/sfvdata", g.l.path); sprintf(g.l.sfvbackup, "/opt/wzdftpd/ftp-data/pzs-ng/" "/%s/sfvbackup", g.l.path); sprintf(g.l.leader, "/opt/wzdftpd/ftp-data/pzs-ng/" "/%s/leader", g.l.path); sprintf(g.l.race, "/opt/wzdftpd/ftp-data/pzs-ng/" "/%s/racedata", g.l.path); g.v.file.compression_method = '5'; g.v.user.pos = 0; sprintf(g.v.misc.old_leader, "none"); g.v.id3_artist[0] = '\0'; g.v.id3_genre[0] = '\0'; g.v.file.unlink[0] = '\0'; g.v.audio.id3_artist[0] = '\0'; g.v.audio.id3_genre = ((void *)0); d_log("zipscript-c: Parsing file extension from filename... (%s)\n", argv[1]); for (temp_p = name_p = argv[1]; *name_p != 0; name_p++) { if (*name_p == '.') { temp_p = name_p; } } if (*temp_p != '.') { d_log("zipscript-c: Got: no extension\n"); temp_p = name_p; } else { d_log("zipscript-c: Got: %s\n", temp_p); temp_p++; } name_p++; d_log("zipscript-c: Copying (lowercased version of) extension to memory\n"); fileext = ng_realloc(fileext, name_p - temp_p, 1, 1, &g.v, 1); memcpy(fileext, temp_p, name_p - temp_p); strtolower(fileext); d_log("zipscript-c: Reading directory structure\n"); dir = opendir("."); parent = opendir(".."); d_log("zipscript-c: Caching release name\n"); getrelname(&g); d_log("zipscript-c: Creating directory to store racedata in\n"); maketempdir(g.l.path); d_log("zipscript-c: Locking release\n"); while(1) { if ((m = create_lock(&g.v, g.l.path, 2, 3, 0))) { d_log("zipscript-c: Failed to lock release.\n"); if (m == 1) { d_log("zipscript-c: version mismatch. Exiting.\n"); printf("Error. You need to rm -fR ftp-data/pzs-ng/* before zipscript-c will work.\n"); exit(1); } if (m == 32) { d_log("zipscript-c: Detected rescan running - will try to make it quit.\n"); update_lock(&g.v, 0, 0); } if (m == 4) { n = (signed int)g.v.data_incrementor; d_log("zipscript-c: Detected postdel running - sleeping for one second.\n"); if (!create_lock(&g.v, g.l.path, 2, 0, g.v.data_queue)) break; usleep(1000000); if (!create_lock(&g.v, g.l.path, 2, 0, g.v.data_queue)) break; if ( n == (signed int)g.v.data_incrementor) { d_log("zipscript-c: Failed to get lock. Forcing unlock.\n"); if (create_lock(&g.v, g.l.path, 2, 2, g.v.data_queue)) { d_log("zipscript-c: Failed to force a lock.\n"); d_log("zipscript-c: Exiting with error.\n"); exit(1); } break; } } else { for ( n = 0; n <= 20 * 10; n++) { d_log("zipscript-c: sleeping for .1 second before trying to get a lock.\n"); usleep(100000); if (!(m = create_lock(&g.v, g.l.path, 2, 0, g.v.data_queue))) break; } if (n >= 20 * 10) { if (m == 32) { d_log("zipscript-c: Failed to get lock. Forcing unlock.\n"); if (create_lock(&g.v, g.l.path, 2, 2, g.v.data_queue)) d_log("zipscript-c: Failed to force a lock.\n"); } else d_log("zipscript-c: Failed to get a lock.\n"); if (!g.v.data_in_use && !0) { d_log("zipscript-c: Exiting with error.\n"); exit(1); } } } rewinddir(dir); rewinddir(parent); } usleep(10000); if (update_lock(&g.v, 1, 0) != -1) break; } if (!memcmp(fileext, "mp3", 4)) { d_log("zipscript-c: Trying to read audio header and tags\n"); get_mpeg_audio_info(findfileext(dir, ".mp3"), &g.v.audio); strlcpy(g.v.id3_artist, g.v.audio.id3_artist, sizeof(g.v.id3_artist)); strlcpy(g.v.id3_genre, g.v.audio.id3_genre, sizeof(g.v.id3_genre)); d_log("zipscript-c: g.v.id3_artist='%s' - g.v.id3_genre='%s'\n", g.v.id3_artist, g.v.id3_genre); } if (strlen(".-== PZS-NG Zipscript-C ==-------------------------.\n")) printf(".-== PZS-NG Zipscript-C ==-------------------------.\n"); if (1 && matchpath("/opt/wzdftpd/site/groups/", g.l.path)) { d_log("zipscript-c: Hiding user in group-dir:\n"); if ((int)strlen("")) { snprintf(g.v.user.group, 18, "%s", ""); d_log("zipscript-c: Changing groupname\n"); } if ((int)strlen("")) { snprintf(g.v.user.name, 18, "%s", ""); d_log("zipscript-c: Changing username\n"); } if (!(int)strlen("")) { d_log("zipscript-c: Making username = groupname\n"); snprintf(g.v.user.name, 18, "%s", g.v.user.group); } } else { if (0) { affillist = ng_realloc2(affillist, 5000, 1, 1, 1); create_dirlist("/opt/wzdftpd/site/groups/", affillist, 5000); if (strlen(affillist) && strcomp(affillist, g.v.user.group)) { affil_upload = 1; d_log("zipscript-c: Hiding affil group based on group_dirs:\n"); if ((int)strlen("NoGroup")) { d_log("zipscript-c: Changing groupname.\n"); snprintf(g.v.user.group, 18, "%s", "NoGroup"); } else d_log("zipscript-c: No hidegroup given.\n"); if ((int)strlen("NoUser")) { d_log("zipscript-c: Changing username.\n"); snprintf(g.v.user.name, 18, "%s", "NoUser"); } else if (!strlen("")) { d_log("zipscript-c: Making username = groupname.\n"); snprintf(g.v.user.name, 18, "%s", g.v.user.group); } else d_log("zipscript-c: No hidename given.\n"); } ng_free(affillist); } if (strlen("") && strcomp("", g.v.user.group)) { affil_upload = 1; d_log("zipscript-c: Hiding affil group:\n"); if ((int)strlen("NoGroup")) { d_log("zipscript-c: Changing groupname.\n"); snprintf(g.v.user.group, 18, "%s", "NoGroup"); } else d_log("zipscript-c: No hidegroup given.\n"); if ((int)strlen("NoUser")) { d_log("zipscript-c: Changing username.\n"); snprintf(g.v.user.name, 18, "%s", "NoUser"); } else if (!strlen("")) { d_log("zipscript-c: Making username = groupname.\n"); snprintf(g.v.user.name, 18, "%s", g.v.user.group); } else d_log("zipscript-c: No hidename given.\n"); } if (strlen("") && strcomp("", g.v.user.name)) { affil_upload = 1; d_log("zipscript-c: Hiding affil user:\n"); if ((int)strlen("NoUser")) { d_log("zipscript-c: Changing username.\n"); snprintf(g.v.user.name, 18, "%s", "NoUser"); } else if (!strlen("")) { d_log("zipscript-c: Making username = groupname.\n"); snprintf(g.v.user.name, 18, "%s", g.v.user.group); } else d_log("zipscript-c: No hidename given.\n"); } } if (matchpath("/site/speedtest/", g.l.path)) { d_log("zipscript-c: Dir matched speedtest_dirs\n"); sprintf(g.v.misc.error_msg, "BW: %.1fMiB (%.1fMB) @ %.2fMbps (%.2fMB/s).", ((double)g.v.file.size/1000./1000.), ((double)g.v.file.size/1024./1024.), ((double)g.v.file.speed*8/1000./1000.), ((double)g.v.file.speed/1024./1024.)); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; mark_as_bad(g.v.file.name); g.v.total.size = g.v.file.size; error_msg = convert(&g.v, g.ui, g.gi, "{%U} {%G} {%.2s} {%.2#} {%.1m} {%.1N}"); if (exit_value < 2) writelog(&g, error_msg, "ULTEST"); if (!0) { sprintf(target, "%.1fMiB", ((float)g.v.file.size/1000./1000.)); if (rename(g.v.file.name, target) == -1) d_log("zipscript-c: Unable to rename speedtest file: %s (not considered an error in this case)\n", strerror((*__errno_location ()))); } exit_value = 2; } else if (filebanned_match(g.v.file.name)) { d_log("zipscript-c: Banned file detected (%s)\n", g.v.file.name); sprintf(g.v.misc.error_msg, "Banned file: Not allowed!"); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; mark_as_bad(g.v.file.name); error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); if (exit_value < 2) writelog(&g, error_msg, "BAD_FILE_0SIZE"); exit_value = 2; } else if (g.v.file.size == 0) { d_log("zipscript-c: File seems to be 0\n"); sprintf(g.v.misc.error_msg, "0byte-file: Not allowed!"); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; mark_as_bad(g.v.file.name); error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); if (exit_value < 2) writelog(&g, error_msg, "BAD_FILE_0SIZE"); exit_value = 2; } else if (matchpath("/opt/wzdftpd/site/private/", g.l.path) || (!matchpath("/opt/wzdftpd/site/private/", g.l.path) && !matchpath("/opt/wzdftpd/site/test/", g.l.path) && !matchpath("/opt/wzdftpd/site/test/", g.l.path) && !matchpath("/opt/wzdftpd/site/groups/", g.l.path)) || insampledir(g.l.path)) { d_log("zipscript-c: Directory matched with nocheck_dirs/sample_list, or is not among sfv/zip/group/speedtest dirs\n"); d_log("zipscript-c: - nocheck_dirs : '%s'\n", "/opt/wzdftpd/site/private/"); d_log("zipscript-c: - zip_dirs : '%s'\n", "/opt/wzdftpd/site/test/"); d_log("zipscript-c: - sfv_dirs : '%s'\n", "/opt/wzdftpd/site/test/"); d_log("zipscript-c: - group_dirs : '%s'\n", "/opt/wzdftpd/site/groups/"); d_log("zipscript-c: - speedtest_dirs: '%s'\n", "/site/speedtest/"); d_log("zipscript-c: - sample_list : '%s'\n", "sample vobsample"); d_log("zipscript-c: - current path : '%s'\n", g.l.path); no_check = 1; } if (exit_value == 2) d_log("File already marked as bad. Will not process further.\n"); else if (!matchpath("/opt/wzdftpd/site/private/", g.l.path)) { d_log("zipscript-c: Verifying old racedata..\n"); d_log("zipscript-c: If this is the first file in the sfv, this will fail (which is normal).\n"); d_log("zipscript-c: Also please note that multiple slashes in the dir is NORMAL - NOT AN ERROR!\n"); if (!verify_racedata(g.l.race, &g.v)) d_log("zipscript-c: Failed to open racedata - assuming this is a new race.\n"); switch (get_filetype(&g, fileext)) { case 0: d_log("zipscript-c: File type is: ZIP\n"); d_log("zipscript-c: Testing file integrity with %s\n", "/bin/unzip"); if (!fileexists("/bin/unzip")) { d_log("zipscript-c: ERROR! Not able to check zip-files - %s does not exist!\n", "/bin/unzip"); sprintf(g.v.misc.error_msg, "ZiP-Integrity: BAD!"); mark_as_bad(g.v.file.name); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); if (exit_value < 2) writelog(&g, error_msg, "BAD_FILE_ZIP"); exit_value = 2; break; } else { if ((!findfileextcount(dir, ".nfo") || findfileextcount(dir, ".zip")) && !mkdir(".unzipped", 0777)) sprintf(target, "%s -qqjo \"%s\" -d .unzipped", "/bin/unzip", g.v.file.name); else sprintf(target, "%s -qqt \"%s\"", "/bin/unzip", g.v.file.name); if (execute(target) != 0 || (0 == 1 && (*__errno_location ()) > 2 )) { d_log("zipscript-c: Integrity check failed (#%d): %s\n", (*__errno_location ()), strerror((*__errno_location ()))); sprintf(g.v.misc.error_msg, "ZiP-Integrity: BAD!"); mark_as_bad(g.v.file.name); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); if (exit_value < 2) writelog(&g, error_msg, "BAD_FILE_ZIP"); exit_value = 2; removedir(".unzipped"); break; } if ((!findfileextcount(dir, ".nfo") || findfileextcount(dir, ".zip")) && check_zipfile(".unzipped", g.v.file.name, findfileextcount(dir, ".nfo"))) { d_log("zipscript-c: File %s is password protected.\n", g.v.file.name); sprintf(g.v.misc.error_msg, "ZiP-Integrity: BAD!"); mark_as_bad(g.v.file.name); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); if (exit_value < 2) writelog(&g, error_msg, "BAD_FILE_ZIP"); exit_value = 2; break; } } d_log("zipscript-c: Integrity ok\n"); printf("| + ZiP integrity: oK! |\n"); if ((matchpath("/opt/wzdftpd/site/test/", g.l.path)) || (matchpath("/opt/wzdftpd/site/groups/", g.l.path)) ) { g.v.misc.write_log = 1; d_log("zipscript-c: Directory matched with zip_dirs/group_dirs\n"); } else { d_log("zipscript-c: WARNING! Directory did not match with zip_dirs/group_dirs\n"); if (0 == 1) { d_log("zipscript-c: Strict mode on - exiting\n"); sprintf(g.v.misc.error_msg, "%s-file: Not allowed!", fileext); mark_as_bad(g.v.file.name); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); if (exit_value < 2) writelog(&g, error_msg, "BAD_FILE_WRONGDIR"); exit_value = 2; break; } } if (!fileexists("file_id.diz")) { d_log("zipscript-c: file_id.diz does not exist, trying to extract it from %s\n", g.v.file.name); sprintf(target, "%s -qqjnCLL \"%s\" file_id.diz 2>.delme", "/bin/unzip", g.v.file.name); if (execute(target) != 0) d_log("zipscript-c: No file_id.diz found (#%d): %s\n", (*__errno_location ()), strerror((*__errno_location ()))); else { if ((loc = findfile(dir, "file_id.diz.bad"))) { seekdir(dir, loc); dp = readdir(dir); unlink(dp->d_name); } chmod("file_id.diz", 0666); } } d_log("zipscript-c: Reading diskcount from diz:\n"); g.v.total.files = read_diz(); d_log("zipscript-c: Expecting %d files.\n", g.v.total.files); if (g.v.total.files == 0) { d_log("zipscript-c: Could not get diskcount from diz.\n"); g.v.total.files = 1; unlink("file_id.diz"); } g.v.total.files_missing = g.v.total.files; d_log("zipscript-c: Storing new race data (F_CHECKED)\n"); writerace(g.l.race, &g.v, 0, 1); d_log("zipscript-c: Reading race data from file to memory\n"); readrace(g.l.race, &g.v, g.ui, g.gi); if (g.v.total.files_missing < 0) { d_log("zipscript-c: There seems to be more files in zip than we expected\n"); g.v.total.files -= g.v.total.files_missing; g.v.total.files_missing = g.v.misc.write_log = 0; } d_log("zipscript-c: Setting message pointers\n"); race_msg = "{%U} {%G} {%R} {%r} {%.0S} {%n} {%d} {%.1p} {%u} {%g} {%F} {%f} {%M} \"%K\" {%B} {%$}"; update_msg = "{%U} {%G} {%f} {%.0S} {%.1e} {%n} {%r} \"%K\" {%$}"; halfway_msg = g.v.total.users > 1 ? "{%r} %C0 %c0 {%.0m} {%F} {%.1p} {%.0A} {%.0a} {%M} {%n} {%u} {%g} {%U} {%G} {%f} {%B} {%$}" : "{%r} %C0 %c0 {%.0m} {%F} {%.1p} {%.0A} {%.0a} {%M} {%n} {%u} {%g} {%U} {%G} {%f} \"%K\" {%$}";; newleader_msg = "{%U} {%G} {%.0S} {%d} {%F} {%.1p} {%.0m} {%r} {%n} {%u} {%g} {%f} {%M} %C0 %c0 \"%K\" {%R} {%$}"; if (g.l.sfv_incomplete) { d_log("zipscript-c: Removing missing-sfv indicator (if any)\n"); unlink(g.l.sfv_incomplete); } break; case 1: d_log("zipscript-c: File type is: SFV\n"); if ((matchpath("/opt/wzdftpd/site/test/", g.l.path)) || (matchpath("/opt/wzdftpd/site/groups/", g.l.path)) ) { d_log("zipscript-c: Directory matched with sfv_dirs/group_dirs\n"); } else { d_log("zipscript-c: WARNING! Directory did not match with sfv_dirs/group_dirs\n"); if (0 == 1) { d_log("zipscript-c: Strict mode on - exiting\n"); sprintf(g.v.misc.error_msg, "%s-file: Not allowed!", fileext); mark_as_bad(g.v.file.name); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); if (exit_value < 2) writelog(&g, error_msg, "BAD_FILE_WRONGDIR"); exit_value = 2; break; } } if (fileexists(g.l.sfv)) { if (0 == 1 && findfileextcount(dir, ".sfv") > 1 && sfv_compare_size(".sfv", g.v.file.size) > 0) { write_log = g.v.misc.write_log; g.v.misc.write_log = 1; d_log("zipscript-c: DEBUG: sfv_compare_size=%d\n", sfv_compare_size(".sfv", g.v.file.size)); d_log("zipscript-c: No double sfv allowed\n"); error_msg = convert(&g.v, g.ui, g.gi, "{%U} {%G} {%r} {%n}"); writelog(&g, error_msg, "DOUBLESFV"); sprintf(g.v.misc.error_msg, "SFV-file: DUPE!"); mark_as_bad(g.v.file.name); exit_value = 2; g.v.misc.write_log = write_log; break; } else if (1 == 1 && findfileextcount(dir, ".sfv") == 1) { write_log = g.v.misc.write_log; g.v.misc.write_log = 1; d_log("zipscript-c: Resume of sfv not allowed\n"); error_msg = convert(&g.v, g.ui, g.gi, "{%U} {%G} {%r} {%n}"); writelog(&g, error_msg, "RESUMESFV"); if (copyfile(g.l.sfvbackup, g.v.file.name)) d_log("zipscript-c: failed to copy backed up sfv (%s)\n", g.v.file.name); else d_log("zipscript-c: copied backup of sfv to releasedir (%s)\n", g.v.file.name); g.v.misc.write_log = write_log; break; } else if (findfileextcount(dir, ".sfv") > 1 && sfv_compare_size(".sfv", g.v.file.size) > 0) { d_log("zipscript-c: DEBUG: sfv_compare_size=%d\n", sfv_compare_size(".sfv", g.v.file.size)); d_log("zipscript-c: Reading remainders of old sfv\n"); readsfv(g.l.sfv, &g.v, 1); cnt = g.v.total.files - g.v.total.files_missing; cnt2 = g.v.total.files; g.v.total.files_missing = g.v.total.files = 0; readsfv_ffile(&g.v); if ((g.v.total.files <= cnt2) || (g.v.total.files != (cnt + g.v.total.files_missing))) { write_log = g.v.misc.write_log; g.v.misc.write_log = 1; d_log("zipscript-c: Old sfv seems to match with more files than current one\n"); strlcpy(g.v.misc.error_msg, "SFV does not match with files!", 80); error_msg = convert(&g.v, g.ui, g.gi, "{%U} {%G} {%r} {%n}"); writelog(&g, error_msg, "DOUBLESFV"); sprintf(g.v.misc.error_msg, "SFV-file: DUPE!"); mark_as_bad(g.v.file.name); exit_value = 2; g.v.misc.write_log = write_log; break; } g.v.total.files = g.v.total.files_missing = 0; } else { if (!fileexists(g.l.sfv)) { d_log("zipscript-c: DEBUG: sfv_compare_size=%d\n", sfv_compare_size(".sfv", g.v.file.size)); d_log("zipscript-c: Hmm.. Seems the old .sfv was deleted. Allowing new one.\n"); unlink(g.l.race); } else d_log("zipscript-c: Allowing the (late) sfv\n"); unlink(g.l.sfv); rewinddir(dir); while ((dp = readdir(dir))) { cnt = cnt2 = (int)strlen(dp->d_name); ext = dp->d_name; while (ext[cnt] != '-' && cnt > 0) cnt--; if (ext[cnt] != '-') cnt = cnt2; else cnt++; ext += cnt; if (!(__extension__ (__builtin_constant_p (7) && ((__builtin_constant_p (ext) && strlen (ext) < ((size_t) (7))) || (__builtin_constant_p ("missing") && strlen ("missing") < ((size_t) (7)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (ext) && __builtin_constant_p ("missing") && (__s1_len = strlen (ext), __s2_len = strlen ("missing"), (!((size_t)(const void *)((ext) + 1) - (size_t)(const void *)(ext) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("missing") + 1) - (size_t)(const void *)("missing") == 1) || __s2_len >= 4)) ? __builtin_strcmp (ext, "missing") : (__builtin_constant_p (ext) && ((size_t)(const void *)((ext) + 1) - (size_t)(const void *)(ext) == 1) && (__s1_len = strlen (ext), __s1_len < 4) ? (__builtin_constant_p ("missing") && ((size_t)(const void *)(("missing") + 1) - (size_t)(const void *)("missing") == 1) ? __builtin_strcmp (ext, "missing") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("missing"); register int __result = (((const unsigned char *) (const char *) (ext))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (ext))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (ext))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (ext))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("missing") && ((size_t)(const void *)(("missing") + 1) - (size_t)(const void *)("missing") == 1) && (__s2_len = strlen ("missing"), __s2_len < 4) ? (__builtin_constant_p (ext) && ((size_t)(const void *)((ext) + 1) - (size_t)(const void *)(ext) == 1) ? __builtin_strcmp (ext, "missing") : (__extension__ ({ const unsigned char *__s1 = (const unsigned char *) (const char *) (ext); register int __result = __s1[0] - ((const unsigned char *) (const char *) ("missing"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((const unsigned char *) (const char *) ("missing"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((const unsigned char *) (const char *) ("missing"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((const unsigned char *) (const char *) ("missing"))[3]); } } __result; }))) : __builtin_strcmp (ext, "missing")))); }) : strncmp (ext, "missing", 7)))) unlink(dp->d_name); } } } d_log("zipscript-c: Parsing sfv and creating sfv data\n"); if (copysfv(g.v.file.name, g.l.sfv, &g.v)) { d_log("zipscript-c: Found invalid entries in SFV.\n"); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); if (exit_value < 2) writelog(&g, error_msg, "BAD_FILE_SFV"); mark_as_bad(g.v.file.name); exit_value = 2; sprintf(g.v.misc.error_msg, "SFV-file: BAD!"); unlink(g.l.race); unlink(g.l.sfv); rewinddir(dir); while ((dp = readdir(dir))) { cnt = cnt2 = (int)strlen(dp->d_name); ext = dp->d_name; while (ext[cnt] != '-' && cnt > 0) cnt--; if (ext[cnt] != '-') cnt = cnt2; else cnt++; ext += cnt; if (!(__extension__ (__builtin_constant_p (7) && ((__builtin_constant_p (ext) && strlen (ext) < ((size_t) (7))) || (__builtin_constant_p ("missing") && strlen ("missing") < ((size_t) (7)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (ext) && __builtin_constant_p ("missing") && (__s1_len = strlen (ext), __s2_len = strlen ("missing"), (!((size_t)(const void *)((ext) + 1) - (size_t)(const void *)(ext) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("missing") + 1) - (size_t)(const void *)("missing") == 1) || __s2_len >= 4)) ? __builtin_strcmp (ext, "missing") : (__builtin_constant_p (ext) && ((size_t)(const void *)((ext) + 1) - (size_t)(const void *)(ext) == 1) && (__s1_len = strlen (ext), __s1_len < 4) ? (__builtin_constant_p ("missing") && ((size_t)(const void *)(("missing") + 1) - (size_t)(const void *)("missing") == 1) ? __builtin_strcmp (ext, "missing") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("missing"); register int __result = (((const unsigned char *) (const char *) (ext))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (ext))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (ext))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (ext))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("missing") && ((size_t)(const void *)(("missing") + 1) - (size_t)(const void *)("missing") == 1) && (__s2_len = strlen ("missing"), __s2_len < 4) ? (__builtin_constant_p (ext) && ((size_t)(const void *)((ext) + 1) - (size_t)(const void *)(ext) == 1) ? __builtin_strcmp (ext, "missing") : (__extension__ ({ const unsigned char *__s1 = (const unsigned char *) (const char *) (ext); register int __result = __s1[0] - ((const unsigned char *) (const char *) ("missing"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((const unsigned char *) (const char *) ("missing"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((const unsigned char *) (const char *) ("missing"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((const unsigned char *) (const char *) ("missing"))[3]); } } __result; }))) : __builtin_strcmp (ext, "missing")))); }) : strncmp (ext, "missing", 7)))) unlink(dp->d_name); } break; } if (g.l.sfv_incomplete) { d_log("zipscript-c: Removing missing-sfv indicator (if any)\n"); unlink(g.l.sfv_incomplete); } if ( (0 == 0) || matchpath("", g.l.path)) { if (fileexists(g.l.race) && fileexists(g.l.sfv)) { d_log("zipscript-c: Testing files marked as untested\n"); testfiles(&g.l, &g.v, 0); } } d_log("zipscript-c: Reading file count from SFV\n"); readsfv(g.l.sfv, &g.v, 0); if (g.v.total.files == 0) { d_log("zipscript-c: SFV seems to have no files of accepted types, or has errors.\n"); unlink(g.l.sfv); sprintf(g.v.misc.error_msg, "SFV-file: BAD!"); mark_as_bad(g.v.file.name); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); if (exit_value < 2) writelog(&g, error_msg, "BAD_FILE_SFV"); exit_value = 2; break; } printf("| + SFV-file: oK! |\n"); if (fileexists(g.l.race)) { d_log("zipscript-c: Reading race data from file to memory\n"); readrace(g.l.race, &g.v, g.ui, g.gi); } if ("^\\[.*] - \\( .*F - COMPLETE.*) - \\[.*]$") { d_log("zipscript-c: Making sure that release is not marked as complete\n"); removecomplete(); } d_log("zipscript-c: Setting message pointers\n"); sfv_type = "SFV"; switch (g.v.misc.release_type) { case RTYPE_RAR: sfv_msg = "{%r} {%f} {%U} {%G} {%n} \"%K\""; sfv_type = "SFV_RAR"; break; case RTYPE_OTHER: sfv_msg = "{%r} {%f} {%U} {%G} {%n} \"%K\""; sfv_type = "SFV_OTHER"; break; case RTYPE_AUDIO: sfv_msg = "{%r} {%f} {%U} {%G} {%n} \"%K\""; sfv_type = "SFV_AUDIO"; break; case RTYPE_VIDEO: sfv_msg = "{%r} {%f} {%U} {%G} {%n} \"%K\""; sfv_type = "SFV_VIDEO"; break; default : sfv_msg = "{%r} {%f} {%U} {%G} {%n} \"%K\""; sfv_type = "SFV_RAR"; d_log("zipscript-c: WARNING! Not a known release type - Contact the authors! (1:%d)\n", g.v.misc.release_type); break; } if (!sfv_msg) d_log("zipscript-c: Something's messed up - sfv_msg not set!\n"); halfway_msg = newleader_msg = race_msg = update_msg = ((void *)0); g.v.misc.write_log = matchpath("/opt/wzdftpd/site/test/", g.l.path); if (g.v.total.files_missing > 0) { if (sfv_msg != ((void *)0)) { if (g.v.misc.data_completed) { d_log("zipscript-c: This release has previously been announced complete - skipping announce\n"); error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); writelog(&g, error_msg, "BAD_FILE_DUPERELEASE"); } else { d_log("zipscript-c: Writing SFV message to %s\n", "/opt/wzdftpd/ftp-data/logs/glftpd.log"); writelog(&g, convert(&g.v, g.ui, g.gi, sfv_msg), sfv_type); } } } else { if (g.v.misc.release_type == RTYPE_AUDIO) { d_log("zipscript-c: Reading audio info for completebar\n"); get_mpeg_audio_info(findfileext(dir, ".mp3"), &g.v.audio); strlcpy(g.v.id3_artist, g.v.audio.id3_artist, sizeof(g.v.id3_artist)); strlcpy(g.v.id3_genre, g.v.audio.id3_genre, sizeof(g.v.id3_genre)); } } if (1 == 1) { if (copyfile(g.v.file.name, g.l.sfvbackup)) d_log("zipscript-c: failed to make backup of sfv (%s)\n", g.v.file.name); else d_log("zipscript-c: created backup of sfv (%s)\n", g.v.file.name); } break; case 2: no_check = 1; d_log("zipscript-c: File type is: NFO\n"); # 995 "zipscript-c.c" break; case 3: d_log("zipscript-c: File type is: ANY\n"); d_log("zipscript-c: Converting crc (%s) from string to integer\n", crc_arg); crc = hexstrtodec(crc_arg); if (crc == 0) { d_log("zipscript-c: We did not get crc from ftp daemon, calculating crc for %s now.\n", g.v.file.name); crc = calc_crc32(g.v.file.name); } if (fileexists(g.l.sfv)) { s_crc = readsfv(g.l.sfv, &g.v, 0); # 1017 "zipscript-c.c" d_log("zipscript-c: crc recieved/calc'ed: %X - crc found in sfv: %X\n", crc, s_crc); if (s_crc != crc) { if (s_crc == 0) { if (!strcomp("jpg,cue,m3u,mpg,mpeg,avi,txt,mov,vob,mkv,wmv", fileext)) { d_log("zipscript-c: Filename was not found in the SFV\n"); strlcpy(g.v.misc.error_msg, "CRC-Check: Not in sfv!", 80); } else { d_log("zipscript-c: filetype is part of allowed_types.\n"); no_check = 1; break; } } else { d_log("zipscript-c: CRC-32 check failed\n"); if (!hexstrtodec(crc_arg) && 0) { d_log("zipscript-c: Broken xfer detected - allowing file.\n"); no_check = 1; write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); writelog(&g, error_msg, "BAD_FILE_CRC"); if (1 == 1) { if (!fileexists("/bin/ng-undupe")) { d_log("zipscript-c: Warning - undupe script (%s) does not exist.\n", "/bin/ng-undupe"); } sprintf(target, "/bin/ng-undupe" " \"%s\"", g.v.file.name); if (execute(target) == 0) d_log("zipscript-c: undupe of %s successful.\n", g.v.file.name); else d_log("zipscript-c: undupe of %s failed.\n", g.v.file.name); } break; } strlcpy(g.v.misc.error_msg, "CRC-Check: BAD!", 80); } mark_as_bad(g.v.file.name); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); if (exit_value < 2) writelog(&g, error_msg, "BAD_FILE_CRC"); exit_value = 2; break; } if (check_dupefile(dir, g.v.file.name)) { d_log("zipscript-c: dupe detected - same file, different case already exists.\n"); strlcpy(g.v.misc.error_msg, "SFV-file: DUPE!", 80); mark_as_bad(g.v.file.name); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); if (exit_value < 2) writelog(&g, error_msg, "BAD_FILE_CRC"); exit_value = 2; break; } printf("| + CRC-Check: oK! |\n"); d_log("zipscript-c: Storing new race data (F_CHECKED)\n"); writerace(g.l.race, &g.v, crc, 1); } else { # 1121 "zipscript-c.c" d_log("zipscript-c: Could not check file yet - SFV is not present\n"); printf("| + CRC-Check: SKIPPED! |\n"); d_log("zipscript-c: Storing new race data (F_NOTCHECKED)\n"); writerace(g.l.race, &g.v, crc, 2); if ((!matchpath("/opt/wzdftpd/site/groups/", g.l.path) || 1) && g.l.sfv_incomplete && !findfileext(dir, ".zip") && !matchpath("/opt/wzdftpd/site/private/", g.l.path) && !matchpath("", g.l.path) &&!insampledir(g.l.path) ) { d_log("zipscript-c: Creating missing-sfv indicator %s.\n", g.l.sfv_incomplete); symlink(g.v.misc.release_name, g.l.sfv_incomplete); } } g.v.misc.write_log = matchpath("/opt/wzdftpd/site/test/", g.l.path); d_log("zipscript-c: Reading race data from file to memory\n"); readrace(g.l.race, &g.v, g.ui, g.gi); d_log("zipscript-c: Setting pointers\n"); if (g.v.misc.release_type == RTYPE_NULL) { if (israr(fileext)) g.v.misc.release_type = RTYPE_RAR; else if (strcomp("mpg,mpeg,m2v,m2p,avi", fileext)) g.v.misc.release_type = RTYPE_VIDEO; else if (!memcmp(fileext, "mp3", 4)) g.v.misc.release_type = RTYPE_AUDIO; else g.v.misc.release_type = RTYPE_OTHER; } switch (g.v.misc.release_type) { case RTYPE_RAR: get_rar_info(&g.v); race_msg = "{%U} {%G} {%R} {%r} {%.0S} {%n} {%d} {%.1p} {%u} {%g} {%F} {%f} {%M} \"%K\" {%B} {%J} {%$}"; update_msg = "{%U} {%G} {%f} {%.0S} {%.1e} {%n} {%r} \"%K\" {%J} {%$}"; halfway_msg = g.v.total.users > 1 ? "{%r} %C0 %c0 {%.0m} {%F} {%.1p} {%.0A} {%.0a} {%M} {%n} {%u} {%g} {%U} {%G} {%f} {%B} {%J} {%$}" : "{%r} %C0 %c0 {%.0m} {%F} {%.1p} {%.0A} {%.0a} {%M} {%n} {%u} {%g} {%U} {%G} {%f} \"%K\" {%J} {%$}";; newleader_msg = "{%U} {%G} {%.0S} {%d} {%F} {%.1p} {%.0m} {%r} {%n} {%u} {%g} {%f} {%M} %C0 %c0 \"%K\" {%R} {%J} {%$}"; break; case RTYPE_OTHER: race_msg = "{%U} {%G} {%R} {%r} {%.0S} {%n} {%d} {%.1p} {%u} {%g} {%F} {%f} {%M} \"%K\" {%B} {%$}"; update_msg = "{%U} {%G} {%f} {%.0S} {%.1e} {%n} {%r} \"%K\" {%$}"; halfway_msg = g.v.total.users > 1 ? "{%r} %C0 %c0 {%.0m} {%F} {%.1p} {%.0A} {%.0a} {%M} {%n} {%u} {%g} {%U} {%G} {%f} {%B} {%$}" : "{%r} %C0 %c0 {%.0m} {%F} {%.1p} {%.0A} {%.0a} {%M} {%n} {%u} {%g} {%U} {%G} {%f} \"%K\" {%$}";; newleader_msg = "{%U} {%G} {%.0S} {%d} {%F} {%.1p} {%.0m} {%r} {%n} {%u} {%g} {%f} {%M} %C0 %c0 \"%K\" {%R} {%$}"; break; case RTYPE_AUDIO: race_msg = "{%U} {%G} {%R} {%r} {%.0S} {%n} {%d} {%.1p} {%u} {%g} {%F} {%f} {%M} \"%K\" {%B} {%$}"; update_msg = "{%U} {%G} {%f} {%.0S} {%.1e} {%n} {%r} \"%K\" %j {%$}"; halfway_msg = g.v.total.users > 1 ? "{%r} %C0 %c0 {%.0m} {%F} {%.1p} {%.0A} {%.0a} {%M} {%n} {%u} {%g} {%U} {%G} {%f} {%B} {%$}" : "{%r} %C0 %c0 {%.0m} {%F} {%.1p} {%.0A} {%.0a} {%M} {%n} {%u} {%g} {%U} {%G} {%f} \"%K\" {%$}";; newleader_msg = "{%U} {%G} {%.0S} {%d} {%F} {%.1p} {%.0m} {%r} {%n} {%u} {%g} {%f} {%M} %C0 %c0 \"%K\" {%R} {%$}"; d_log("zipscript-c: Trying to read audio header and tags\n"); get_mpeg_audio_info(g.v.file.name, &g.v.audio); strlcpy(g.v.id3_artist, g.v.audio.id3_artist, sizeof(g.v.id3_artist)); strlcpy(g.v.id3_genre, g.v.audio.id3_genre, sizeof(g.v.id3_genre)); if (g.v.misc.write_log == 1) { if ((0 == 1) && (g.ui[g.v.user.pos]->files == 1)) { if (!fileexists("/bin/ng-chown")) { d_log("zipscript-c: Warning - mp3_script (%s) - file does not exist!\n", "/bin/ng-chown"); } d_log("zipscript-c: Executing mp3 script (%s %s)\n", "/bin/ng-chown", convert(&g.v, g.ui, g.gi, "0 0 0 1 0 1 - \"%w\" \"%?\"")); sprintf(target, "%s %s", "/bin/ng-chown", convert(&g.v, g.ui, g.gi, "0 0 0 1 0 1 - \"%w\" \"%?\"")); if (execute(target) != 0) d_log("zipscript-c: Failed to execute mp3_script: %s\n", strerror((*__errno_location ()))); } if (!matchpath("", g.l.path)) { if (strcomp("Christian Rap,Christian Gangsta Rap,Contemporary Christian,Christian Rock", g.v.audio.id3_genre)) { d_log("zipscript-c: File is from banned genre\n"); sprintf(g.v.misc.error_msg, "%s is banned here!", g.v.audio.id3_genre); if (1 == 1) { if (g.ui[g.v.user.pos]->files == 1) { d_log("zipscript-c: warn on - logging to logfile\n"); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%U} {%G} {%w}"); writelog(&g, error_msg, "BADGENRE"); g.v.misc.write_log = write_log; } else d_log("zipscript-c: warn on - have already logged to logfile\n"); } else { mark_as_bad(g.v.file.name); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); if ((g.ui[g.v.user.pos]->files == 1) && (exit_value < 2)) writelog(&g, error_msg, "BAD_FILE_GENRE"); exit_value = 2; } break; } # 1247 "zipscript-c.c" if (!strcomp("2004,2005,2006,2007", g.v.audio.id3_year)) { d_log("zipscript-c: File is from banned year\n"); sprintf(g.v.misc.error_msg, "Releases from %s are not allowed here!", g.v.audio.id3_year); if (1 == 1) { if (g.ui[g.v.user.pos]->files == 1) { d_log("zipscript-c: warn on - logging to logfile\n"); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%U} {%G} {%Y}"); writelog(&g, error_msg, "BADYEAR"); g.v.misc.write_log = write_log; } else d_log("zipscript-c: warn on - have already logged to logfile\n"); } else { mark_as_bad(g.v.file.name); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); if ((g.ui[g.v.user.pos]->files == 1) && (exit_value < 2)) writelog(&g, error_msg, "BAD_FILE_YEAR"); exit_value = 2; } break; } if (g.v.audio.is_vbr == 0) { if (!strcomp("160,192", g.v.audio.bitrate)) { d_log("zipscript-c: File is encoded using banned bitrate (%d)\n", g.v.audio.bitrate); sprintf(g.v.misc.error_msg, "%s kbit codec is not allowed here!", g.v.audio.bitrate); if (1 == 1) { if (g.ui[g.v.user.pos]->files == 1) { d_log("zipscript-c: warn on - logging to logfile\n"); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%U} {%G} {%X}"); writelog(&g, error_msg, "BADBITRATE"); g.v.misc.write_log = write_log; } else d_log("zipscript-c: warn on - have already logged to logfile\n"); } else { mark_as_bad(g.v.file.name); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); if ((g.ui[g.v.user.pos]->files == 1) && (exit_value < 2)) writelog(&g, error_msg, "BAD_FILE_BITRATE"); exit_value = 2; } break; } } } else d_log("zipscript-c: user is in a no audio check dir - skipping checks.\n"); } if ("+-=[ID3tag]=------------------------===------------+\n| Title : %-39y |\n| Artist : %-39x |\n| Album : %-39W |\n| Genre : %-39w |\n| Year : %-39Y |\n" != ((void *)0)) { d_log("zipscript-c: Printing realtime_mp3_info.\n"); printf("%s", convert(&g.v, g.ui, g.gi, "+-=[ID3tag]=------------------------===------------+\n| Title : %-39y |\n| Artist : %-39x |\n| Album : %-39W |\n| Genre : %-39w |\n| Year : %-39Y |\n")); } break; case RTYPE_VIDEO: d_log("zipscript-c: Trying to read video header.\n"); if (insampledir(g.l.path)) { if (!avinfo(g.v.file.name, &g.v.avinfo)) { d_log("zipscript-c: Writing %s announce to %s.\n", "SAMPLEDIR", "/opt/wzdftpd/ftp-data/logs/glftpd.log"); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; writelog(&g, convert(&g.v, g.ui, g.gi, "{%U} {%G} {%D} {%E} {%.3H} {%.2;} {%:} {%,} {%`} {%=} {%>} {%<}"), "SAMPLEDIR"); g.v.misc.write_log = write_log; } if (0 == 1) { d_log("zipscript-c: Executing sample_script (%s).\n", "/bin/sample_script.sh"); if (!fileexists("/bin/sample_script.sh")) d_log("zipscript-c: Warning - sample_script (%s) - file does not exist!\n", "/bin/sample_script.sh"); sprintf(target, "/bin/sample_script.sh" " \"%s\"", g.v.file.name); if (execute(target) != 0) d_log("zipscript-c: Failed to execute sample_script: %s\n", strerror((*__errno_location ()))); } } race_msg = "{%U} {%G} {%R} {%r} {%.0S} {%n} {%d} {%.1p} {%u} {%g} {%F} {%f} {%M} \"%K\" {%B} {%$} {%D} {%E} {%.3H} {%.2;} {%:} {%,} {%`} {%=} {%>} {%<}"; update_msg = "{%U} {%G} {%f} {%.0S} {%.1e} {%n} {%r} \"%K\" {%$} {%D} {%E} {%.3H} {%.2;} {%:} {%,} {%`} {%=} {%>} {%<}"; halfway_msg = g.v.total.users > 1 ? "{%r} %C0 %c0 {%.0m} {%F} {%.1p} {%.0A} {%.0a} {%M} {%n} {%u} {%g} {%U} {%G} {%f} {%B} {%$} {%D} {%E} {%.3H} {%.2;} {%:} {%,} {%`} {%=} {%>} {%<}" : "{%r} %C0 %c0 {%.0m} {%F} {%.1p} {%.0A} {%.0a} {%M} {%n} {%u} {%g} {%U} {%G} {%f} \"%K\" {%$} {%D} {%E} {%.3H} {%.2;} {%:} {%,} {%`} {%=} {%>} {%<}";; newleader_msg = "{%U} {%G} {%.0S} {%d} {%F} {%.1p} {%.0m} {%r} {%n} {%u} {%g} {%f} {%M} %C0 %c0 \"%K\" {%R} {%$} {%D} {%E} {%.3H} {%.2;} {%:} {%,} {%`} {%=} {%>} {%<}"; break; default: get_rar_info(&g.v); race_msg = "{%U} {%G} {%R} {%r} {%.0S} {%n} {%d} {%.1p} {%u} {%g} {%F} {%f} {%M} \"%K\" {%B} {%J} {%$}"; update_msg = "{%U} {%G} {%f} {%.0S} {%.1e} {%n} {%r} \"%K\" {%J} {%$}"; halfway_msg = g.v.total.users > 1 ? "{%r} %C0 %c0 {%.0m} {%F} {%.1p} {%.0A} {%.0a} {%M} {%n} {%u} {%g} {%U} {%G} {%f} {%B} {%J} {%$}" : "{%r} %C0 %c0 {%.0m} {%F} {%.1p} {%.0A} {%.0a} {%M} {%n} {%u} {%g} {%U} {%G} {%f} \"%K\" {%J} {%$}";; newleader_msg = "{%U} {%G} {%.0S} {%d} {%F} {%.1p} {%.0m} {%r} {%n} {%u} {%g} {%f} {%M} %C0 %c0 \"%K\" {%R} {%J} {%$}"; d_log("zipscript-c: WARNING! Not a known release type - Contact the authors! (2:%d)\n", g.v.misc.release_type); break; } if (!race_msg) d_log("zipscript-c: Something's messed up - race_msg not set!\n"); if (exit_value == 0 && *g.v.file.unlink) { d_log("zipscript-c: Removing missing indicator\n"); unlink_missing(g.v.file.unlink); # 1371 "zipscript-c.c" } break; case 4: d_log("zipscript-c: File type: NO CHECK\n"); if (!matchpath("/opt/wzdftpd/site/groups/", g.l.path) && !matchpath("/opt/wzdftpd/site/private/", g.l.path) && insampledir(g.l.path) && strcomp("mpg,mpeg,m2v,m2p,avi", fileext) && !avinfo(g.v.file.name, &g.v.avinfo)) { d_log("zipscript-c: Writing %s announce to %s.\n", "SAMPLEDIR", "/opt/wzdftpd/ftp-data/logs/glftpd.log"); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; writelog(&g, convert(&g.v, g.ui, g.gi, "{%U} {%G} {%D} {%E} {%.3H} {%.2;} {%:} {%,} {%`} {%=} {%>} {%<}"), "SAMPLEDIR"); g.v.misc.write_log = write_log; if (0 == 1) { d_log("zipscript-c: Executing sample_script (%s).\n", "/bin/sample_script.sh"); if (!fileexists("/bin/sample_script.sh")) d_log("zipscript-c: Warning - sample_script (%s) - file does not exist!\n", "/bin/sample_script.sh"); sprintf(target, "/bin/sample_script.sh" " \"%s\"", g.v.file.name); if (execute(target) != 0) d_log("zipscript-c: Failed to execute sample_script: %s\n", strerror((*__errno_location ()))); } } no_check = 1; break; case 255: d_log("zipscript-c: File type: UNKNOWN [ignored in sfv]\n"); sprintf(g.v.misc.error_msg, "%s-file: Not allowed!", fileext); mark_as_bad(g.v.file.name); write_log = g.v.misc.write_log; g.v.misc.write_log = 1; error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); if (exit_value < 2) writelog(&g, error_msg, "BAD_FILE_DISALLOWED"); exit_value = 2; break; } } if (no_check == 1 && exit_value < 2) { printf("| + File: ok! (allowed w/o any checks) |\n"); printf("%s", convert(&g.v, g.ui, g.gi, "`--------------------------------=====-------------'\n")); } else if (exit_value == 0) { if (g.v.total.users > 0) { d_log("zipscript-c: Sorting race stats\n"); sortstats(&g.v, g.ui, g.gi); d_log("zipscript-c: Printing on-site race info\n"); showstats(&g.v, g.ui, g.gi); if (!1 || ((g.v.total.users > 1 && g.ui[g.ui[0]->pos]->files >= (g.ui[g.ui[1]->pos]->files + 2)) || g.v.total.users == 1)) { d_log("zipscript-c: Writing current leader to file\n"); read_write_leader(g.l.leader, &g.v, g.ui[g.ui[0]->pos]); } if (g.v.total.users > 1) { if (g.ui[g.v.user.pos]->files == 1 && race_msg != ((void *)0)) { d_log("zipscript-c: Writing RACE to %s\n", "/opt/wzdftpd/ftp-data/logs/glftpd.log"); race_type = "RACE"; switch (g.v.misc.release_type) { case RTYPE_RAR: race_type = "RACE_RAR"; break; case RTYPE_OTHER: race_type = "RACE_OTHER"; break; case RTYPE_AUDIO: race_type = "RACE_AUDIO"; break; case RTYPE_VIDEO: race_type = "RACE_VIDEO"; break; case RTYPE_NULL: race_type = "RACE_ZIP"; break; default: race_type = "RACE_RAR"; d_log("zipscript-c: WARNING! Not a known release type - Contact the authors! (3:%d)\n", g.v.misc.release_type); break; } if (!race_type) d_log("zipscript-c: Something's messed up - race_type not set!\n"); if (g.v.misc.data_completed) { d_log("zipscript-c: This release has previously been announced complete - skipping announce\n"); error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); writelog(&g, error_msg, "BAD_FILE_DUPERELEASE"); } else writelog(&g, convert(&g.v, g.ui, g.gi, race_msg), race_type); } if (g.v.total.files >= 1 && ((g.v.total.size * g.v.total.files) >= (10 * 1024 * 1024)) && __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (g.v.misc.old_leader) && __builtin_constant_p (g.ui[g.ui[0]->pos]->name) && (__s1_len = strlen (g.v.misc.old_leader), __s2_len = strlen (g.ui[g.ui[0]->pos]->name), (!((size_t)(const void *)((g.v.misc.old_leader) + 1) - (size_t)(const void *)(g.v.misc.old_leader) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((g.ui[g.ui[0]->pos]->name) + 1) - (size_t)(const void *)(g.ui[g.ui[0]->pos]->name) == 1) || __s2_len >= 4)) ? __builtin_strcmp (g.v.misc.old_leader, g.ui[g.ui[0]->pos]->name) : (__builtin_constant_p (g.v.misc.old_leader) && ((size_t)(const void *)((g.v.misc.old_leader) + 1) - (size_t)(const void *)(g.v.misc.old_leader) == 1) && (__s1_len = strlen (g.v.misc.old_leader), __s1_len < 4) ? (__builtin_constant_p (g.ui[g.ui[0]->pos]->name) && ((size_t)(const void *)((g.ui[g.ui[0]->pos]->name) + 1) - (size_t)(const void *)(g.ui[g.ui[0]->pos]->name) == 1) ? __builtin_strcmp (g.v.misc.old_leader, g.ui[g.ui[0]->pos]->name) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (g.ui[g.ui[0]->pos]->name); register int __result = (((const unsigned char *) (const char *) (g.v.misc.old_leader))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (g.v.misc.old_leader))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (g.v.misc.old_leader))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (g.v.misc.old_leader))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (g.ui[g.ui[0]->pos]->name) && ((size_t)(const void *)((g.ui[g.ui[0]->pos]->name) + 1) - (size_t)(const void *)(g.ui[g.ui[0]->pos]->name) == 1) && (__s2_len = strlen (g.ui[g.ui[0]->pos]->name), __s2_len < 4) ? (__builtin_constant_p (g.v.misc.old_leader) && ((size_t)(const void *)((g.v.misc.old_leader) + 1) - (size_t)(const void *)(g.v.misc.old_leader) == 1) ? __builtin_strcmp (g.v.misc.old_leader, g.ui[g.ui[0]->pos]->name) : (__extension__ ({ const unsigned char *__s1 = (const unsigned char *) (const char *) (g.v.misc.old_leader); register int __result = __s1[0] - ((const unsigned char *) (const char *) (g.ui[g.ui[0]->pos]->name))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((const unsigned char *) (const char *) (g.ui[g.ui[0]->pos]->name))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((const unsigned char *) (const char *) (g.ui[g.ui[0]->pos]->name))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((const unsigned char *) (const char *) (g.ui[g.ui[0]->pos]->name))[3]); } } __result; }))) : __builtin_strcmp (g.v.misc.old_leader, g.ui[g.ui[0]->pos]->name)))); }) && newleader_msg != ((void *)0) && g.ui[g.ui[0]->pos]->files >= (g.ui[g.ui[1]->pos]->files + 2) && g.v.total.files_missing) { d_log("zipscript-c: Writing NEWLEADER to %s\n", "/opt/wzdftpd/ftp-data/logs/glftpd.log"); newleader_type = "NEWLEADER"; switch (g.v.misc.release_type) { case RTYPE_RAR: newleader_type = "NEWLEADER_RAR"; break; case RTYPE_OTHER: newleader_type = "NEWLEADER_OTHER"; break; case RTYPE_AUDIO: newleader_type = "NEWLEADER_AUDIO"; break; case RTYPE_VIDEO: newleader_type = "NEWLEADER_VIDEO"; break; case RTYPE_NULL: newleader_type = "NEWLEADER_ZIP"; break; default: newleader_type = "NEWLEADER_RAR"; d_log("zipscript-c: WARNING! Not a known release type - Contact the authors! (4:%d)\n", g.v.misc.release_type); break; } if (!newleader_type) d_log("zipscript-c: Something's messed up - newleader_type not set!\n"); if (g.v.misc.data_completed) { d_log("zipscript-c: This release has previously been announced complete - skipping announce\n"); error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); writelog(&g, error_msg, "BAD_FILE_DUPERELEASE"); } else writelog(&g, convert(&g.v, g.ui, g.gi, newleader_msg), newleader_type); } } else { if (g.ui[g.v.user.pos]->files == 1 && g.v.total.files >= 2 && ((g.v.total.size * g.v.total.files) >= (1 * 1024 * 1024)) && update_msg != ((void *)0)) { d_log("zipscript-c: Writing UPDATE to %s\n", "/opt/wzdftpd/ftp-data/logs/glftpd.log"); update_type = "UPDATE"; switch (g.v.misc.release_type) { case RTYPE_RAR: update_type = "UPDATE_RAR"; break; case RTYPE_OTHER: update_type = "UPDATE_OTHER"; break; case RTYPE_AUDIO: if (g.v.audio.is_vbr == 0) { update_type = "UPDATE_CBR"; } else { update_type = "UPDATE_VBR"; }; break; case RTYPE_VIDEO: update_type = "UPDATE_VIDEO"; break; case RTYPE_NULL: update_type = "UPDATE_ZIP"; break; default: update_type = "UPDATE_RAR"; d_log("zipscript-c: WARNING! Not a known release type - Contact the authors! (5:%d)\n", g.v.misc.release_type); break; } if (!update_type) d_log("zipscript-c: Something's messed up - update_type not set!\n"); if (g.v.misc.data_completed) { d_log("zipscript-c: This release has previously been announced complete - skipping announce\n"); error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); writelog(&g, error_msg, "BAD_FILE_DUPERELEASE"); } else writelog(&g, convert(&g.v, g.ui, g.gi, update_msg), update_type); } } } if (g.v.total.files_missing > 0) { if (g.v.total.files_missing == g.v.total.files >> 1 && g.v.total.files >= 10 && ((g.v.total.size * g.v.total.files) >= (10 * 1024 * 1024)) && halfway_msg != ((void *)0)) { d_log("zipscript-c: Writing HALFWAY to %s\n", "/opt/wzdftpd/ftp-data/logs/glftpd.log"); norace_halfway_type = "HALFWAY_NORACE"; race_halfway_type = "HALFWAY_RACE"; switch (g.v.misc.release_type) { case RTYPE_RAR: norace_halfway_type = "HALFWAY_NORACE_RAR"; race_halfway_type = "HALFWAY_RACE_RAR"; break; case RTYPE_OTHER: norace_halfway_type = "HALFWAY_NORACE_OTHER"; race_halfway_type = "HALFWAY_RACE_OTHER"; break; case RTYPE_AUDIO: norace_halfway_type = "HALFWAY_NORACE_AUDIO"; race_halfway_type = "HALFWAY_RACE_AUDIO"; break; case RTYPE_VIDEO: norace_halfway_type = "HALFWAY_NORACE_VIDEO"; race_halfway_type = "HALFWAY_RACE_VIDEO"; break; case RTYPE_NULL: norace_halfway_type = "HALFWAY_NORACE_ZIP"; race_halfway_type = "HALFWAY_RACE_ZIP"; break; default: norace_halfway_type = "HALFWAY_NORACE_RAR"; race_halfway_type = "HALFWAY_RACE_RAR"; d_log("zipscript-c: WARNING! Not a known release type - Contact the authors! (6:%d)\n", g.v.misc.release_type); break; } if (!race_halfway_type) d_log("zipscript-c: Something's messed up - race_halfway_type not set!\n"); if (g.v.misc.data_completed) { d_log("zipscript-c: This release has previously been announced complete - skipping announce\n"); error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); writelog(&g, error_msg, "BAD_FILE_DUPERELEASE"); } else writelog(&g, convert(&g.v, g.ui, g.gi, halfway_msg), (g.v.total.users > 1 ? race_halfway_type : norace_halfway_type)); } d_log("zipscript-c: Caching progress bar\n"); buffer_progress_bar(&g.v); if (!matchpath("/opt/wzdftpd/site/groups/", g.l.path) || 1) { d_log("zipscript-c: Creating incomplete indicator:\n", g.l.incomplete); d_log("zipscript-c: name: '%s', incomplete: '%s', path: '%s'\n", g.v.misc.release_name, g.l.incomplete, g.l.path); symlink(g.v.misc.release_name, g.l.incomplete); } d_log("zipscript-c: Creating/moving progress bar\n"); move_progress_bar(0, &g.v, g.ui, g.gi); printf("%s", convert(&g.v, g.ui, g.gi, "`-[%V]----------------------[%3F/%-3f]--'\n")); } else if ((g.v.total.files_missing == 0) && (g.v.total.files > 0)) { d_log("zipscript-c: Caching progress bar\n"); buffer_progress_bar(&g.v); printf("%s", convert(&g.v, g.ui, g.gi, "`-[%V]----------------------[%3F/%-3f]--'\n")); d_log("zipscript-c: Setting complete pointers\n"); switch (g.v.misc.release_type) { case RTYPE_NULL: complete_bar = "[%Z] - ( %.0mM %fF - COMPLETE ) - [%Z]"; complete_msg = g.v.total.users > 1 ? "{%r} {%.0m} {%f} {%.0A} {%.0a} {%d} {%u} {%g} %l %L %C0 %c0 {%n} {%B} {%t} {%T}" : "{%r} {%.0m} {%f} {%.0A} {%.0a} {%d} {%U} {%G} {%n} \"%K\" %t %T";; complete_announce = g.v.total.users > 1 ? "COMPLETE_STAT_RACE_ZIP" : "COMPLETE_ZIP";; break; case RTYPE_RAR: complete_bar = "[%Z] - ( %.0mM %fF - COMPLETE ) - [%Z]"; complete_msg = g.v.total.users > 1 ? "{%r} {%.0m} {%f} {%.0A} {%.0a} {%d} {%u} {%g} %l %L %C0 %c0 {%n} {%B} {%J} {%t} {%T}" : "{%r} {%.0m} {%f} {%.0A} {%.0a} {%d} {%U} {%G} {%n} \"%K\" {%J} %t %T";; complete_announce = g.v.total.users > 1 ? "COMPLETE_STAT_RACE_RAR" : "COMPLETE_RAR";; break; case RTYPE_OTHER: complete_bar = "[%Z] - ( %.0mM %fF - COMPLETE ) - [%Z]"; complete_msg = g.v.total.users > 1 ? "{%r} {%.0m} {%f} {%.0A} {%.0a} {%d} {%u} {%g} %l %L %C0 %c0 {%n} {%B} {%t} {%T}" : "{%r} {%.0m} {%f} {%.0A} {%.0a} {%d} {%U} {%G} {%n} \"%K\" %t %T";; complete_announce = g.v.total.users > 1 ? "COMPLETE_STAT_RACE_OTHER" : "COMPLETE_OTHER";; break; case RTYPE_AUDIO: complete_bar = "[%Z] - ( %.0mM %fF - COMPLETE - %w %Y ) - [%Z]"; complete_msg = g.v.total.users > 1 ? "{%r} {%.0m} {%f} {%.0A} {%.0a} {%d} {%u} {%g} %j %l %L %C0 %c0 {%n} {%B} {%t} {%T}" : "{%r} {%.0m} {%f} {%.0A} {%.0a} {%d} {%U} {%G} %j {%n} \"%K\" %t %T";; if (g.v.audio.is_vbr == 0) { complete_announce = g.v.total.users > 1 ? "COMPLETE_STAT_RACE_AUDIO_CBR" : "COMPLETE_AUDIO_CBR";; } else { complete_announce = g.v.total.users > 1 ? "COMPLETE_STAT_RACE_AUDIO_VBR" : "COMPLETE_AUDIO_VBR";; } d_log("zipscript-c: Symlinking audio\n"); if (g.v.misc.write_log == 1 && !matchpath("/opt/wzdftpd/site/groups/", g.l.path) && !matchpath("/site/incoming/requests/", g.l.path)) audioSort(&g.v.audio, g.l.link_source, g.l.link_target); else d_log("zipscript-c: Symlinking halted - will not create symlinks for this release.\n"); if (findfileext(dir, ".sfv")) { d_log("zipscript-c: Creating m3u\n"); cnt = sprintf(target, findfileext(dir, ".sfv")); strlcpy(target + cnt - 3, "m3u", 4); create_indexfile(g.l.race, &g.v, target); } else d_log("zipscript-c: Cannot create m3u, sfv is missing\n"); break; case RTYPE_VIDEO: complete_bar = "[%Z] - ( %.0mM %fF - COMPLETE ) - [%Z]"; complete_msg = g.v.total.users > 1 ? "{%r} {%.0m} {%f} {%.0A} {%.0a} {%d} {%u} {%g} %l %L %C0 %c0 {%n} {%B} {%t} {%T} {%D} {%E} {%.3H} {%.2;} {%:} {%,} {%`} {%=} {%>} {%<}" : "{%r} {%.0m} {%f} {%.0A} {%.0a} {%d} {%U} {%G} {%n} \"%K\" %t %T {%D} {%E} {%.3H} {%.2;} {%:} {%,} {%`} {%=} {%>} {%<}";; complete_announce = g.v.total.users > 1 ? "COMPLETE_STAT_RACE_VIDEO" : "COMPLETE_VIDEO";; break; default: complete_bar = "[%Z] - ( %.0mM %fF - COMPLETE ) - [%Z]"; complete_msg = g.v.total.users > 1 ? "{%r} {%.0m} {%f} {%.0A} {%.0a} {%d} {%u} {%g} %l %L %C0 %c0 {%n} {%B} {%J} {%t} {%T}" : "{%r} {%.0m} {%f} {%.0A} {%.0a} {%d} {%U} {%G} {%n} \"%K\" {%J} %t %T";; complete_announce = g.v.total.users > 1 ? "COMPLETE_STAT_RACE_RAR" : "COMPLETE_RAR";; d_log("zipscript-c: WARNING! Not a known release type - Contact the authors! (7:%d)\n", g.v.misc.release_type); break; } if (complete_bar) { d_log("zipscript-c: Removing old complete bar, if any\n"); removecomplete(); } d_log("zipscript-c: Removing incomplete indicator (%s)\n", g.l.incomplete); complete(&g, complete_type); if (complete_msg != ((void *)0)) { if (g.v.misc.data_completed) { d_log("zipscript-c: This release has previously been announced complete - skipping announce\n"); error_msg = convert(&g.v, g.ui, g.gi, "{%r} {%U} {%G} {%n}"); writelog(&g, error_msg, "BAD_FILE_DUPERELEASE"); } else { d_log("zipscript-c: Writing COMPLETE and STATS to %s\n", "/opt/wzdftpd/ftp-data/logs/glftpd.log"); writelog(&g, convert(&g.v, g.ui, g.gi, complete_msg), complete_announce); writetop(&g, complete_type); g.v.misc.data_completed = 1; } } if (complete_bar) { d_log("zipscript-c: Creating complete bar\n"); mkdir(convert(&g.v, g.ui, g.gi, complete_bar), 0777);; } # 1741 "zipscript-c.c" if (!matchpath("/opt/wzdftpd/site/groups/", g.l.path) || 1) { if (g.l.nfo_incomplete && matchpath("", g.l.path) && !findfileext(dir, ".nfo")) { if (!g.l.in_cd_dir) { d_log("zipscript-c: Creating missing-nfo indicator %s.\n", g.l.nfo_incomplete); symlink(g.v.misc.release_name, g.l.nfo_incomplete); } else { if (!findfileextparent(parent, ".nfo")) { d_log("zipscript-c: Creating missing-nfo indicator (base) %s.\n", g.l.nfo_incomplete); if ((inc_point[0] = find_last_of(g.l.path, "/")) != g.l.path) *inc_point[0] = '\0'; if ((inc_point[1] = find_last_of(g.v.misc.release_name, "/")) != g.v.misc.release_name) *inc_point[1] = '\0'; symlink(g.v.misc.release_name, g.l.nfo_incomplete); if (*inc_point[0] == '\0') *inc_point[0] = '/'; if (*inc_point[1] == '\0') *inc_point[1] = '/'; } } } } } else { g.v.total.files = -g.v.total.files_missing; g.v.total.files_missing = 0; printf("%s", convert(&g.v, g.ui, g.gi, "`-[ - NO - SFV - ]----------------------[%3F/???]--'\n")); } } else { d_log("zipscript-c: Logging file as bad\n"); remove_from_race(g.l.race, g.v.file.name, &g.v); printf("%s", convert(&g.v, g.ui, g.gi, "| - %-46v |\n`-----------------------------------========-------'\n")); } # 1803 "zipscript-c.c" if ((findfileext(dir, ".nfo") || (g.l.in_cd_dir && findfileextparent(parent, ".nfo"))) && g.l.nfo_incomplete) { d_log("zipscript-c: Removing missing-nfo indicator (if any)\n"); remove_nfo_indicator(&g); } # 1831 "zipscript-c.c" d_log("zipscript-c: Releasing memory and removing lock\n"); closedir(dir); closedir(parent); remove_lock(&g.v); if (fileexists(".delme")) unlink(".delme"); buffer_groups("/etc/group", gnum); buffer_users("/etc/passwd", unum); updatestats_free(&g); ng_free(fileext); ng_free(target); ng_free(g.l.race); ng_free(g.l.sfv); ng_free(g.l.sfvbackup); ng_free(g.l.leader); gettimeofday(&bstop, (struct timezone *)0); printf("Checks completed in %0.6f seconds.\n", ((bstop.tv_sec - bstart.tv_sec) + (bstop.tv_usec - bstart.tv_usec) / 1000000.)); d_log("zipscript-c: Checks completed in %0.6f seconds.\n", ((bstop.tv_sec - bstart.tv_sec) + (bstop.tv_usec - bstart.tv_usec) / 1000000.)); # 1865 "zipscript-c.c" d_log("zipscript-c: Exit %d\n", exit_value); return exit_value; }