GCC Bugzilla – Attachment 14094 Details for
Bug 33148
[4.2 Regression] ICE in trunc_int_for_mode, at explow.c:56 during combine
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
unreduced testcase
bitmap_io.i (text/plain), 87.80 KB, created by
Richard Biener
on 2007-08-22 13:07:02 UTC
(
hide
)
Description:
unreduced testcase
Filename:
MIME Type:
Creator:
Richard Biener
Created:
2007-08-22 13:07:02 UTC
Size:
87.80 KB
patch
obsolete
># 1 "bitmap_io.c" ># 1 "/usr/src/packages/BUILD/potrace-1.8/src//" ># 1 "<built-in>" ># 1 "<command-line>" ># 1 "bitmap_io.c" ># 9 "bitmap_io.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/lib64/gcc/powerpc64-suse-linux/4.2.1/include/stddef.h" 1 3 4 ># 214 "/usr/lib64/gcc/powerpc64-suse-linux/4.2.1/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/lib64/gcc/powerpc64-suse-linux/4.2.1/include/stddef.h" 1 3 4 ># 32 "/usr/include/bits/types.h" 2 3 4 > > >typedef unsigned char __u_char; >typedef unsigned short int __u_short; >typedef unsigned int __u_int; >typedef unsigned long int __u_long; > > >typedef signed char __int8_t; >typedef unsigned char __uint8_t; >typedef signed short int __int16_t; >typedef unsigned short int __uint16_t; >typedef signed int __int32_t; >typedef unsigned int __uint32_t; > >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/lib64/gcc/powerpc64-suse-linux/4.2.1/include/stddef.h" 1 3 4 ># 326 "/usr/lib64/gcc/powerpc64-suse-linux/4.2.1/include/stddef.h" 3 4 >typedef int wchar_t; ># 355 "/usr/lib64/gcc/powerpc64-suse-linux/4.2.1/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/lib64/gcc/powerpc64-suse-linux/4.2.1/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/lib64/gcc/powerpc64-suse-linux/4.2.1/include/stddef.h" 1 3 4 ># 49 "/usr/include/wchar.h" 2 3 4 ># 29 "/usr/include/gconv.h" 2 3 4 > > ># 1 "/usr/lib64/gcc/powerpc64-suse-linux/4.2.1/include/stddef.h" 1 3 4 ># 32 "/usr/include/gconv.h" 2 3 4 > > > > > >enum >{ > __GCONV_OK = 0, > __GCONV_NOCONV, > __GCONV_NODB, > __GCONV_NOMEM, > > __GCONV_EMPTY_INPUT, > __GCONV_FULL_OUTPUT, > __GCONV_ILLEGAL_INPUT, > __GCONV_INCOMPLETE_INPUT, > > __GCONV_ILLEGAL_DESCRIPTOR, > __GCONV_INTERNAL_ERROR >}; > > > >enum >{ > __GCONV_IS_LAST = 0x0001, > __GCONV_IGNORE_ERRORS = 0x0002 >}; > > > >struct __gconv_step; >struct __gconv_step_data; >struct __gconv_loaded_object; >struct __gconv_trans_data; > > > >typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, > __const unsigned char **, __const unsigned char *, > unsigned char **, size_t *, int, int); > > >typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); > > >typedef int (*__gconv_init_fct) (struct __gconv_step *); >typedef void (*__gconv_end_fct) (struct __gconv_step *); > > > >typedef int (*__gconv_trans_fct) (struct __gconv_step *, > struct __gconv_step_data *, void *, > __const unsigned char *, > __const unsigned char **, > __const unsigned char *, unsigned char **, > size_t *); > > >typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, > __const unsigned char *, > unsigned char *, unsigned char *); > > >typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, > size_t *); > > >typedef int (*__gconv_trans_init_fct) (void **, const char *); >typedef void (*__gconv_trans_end_fct) (void *); > >struct __gconv_trans_data >{ > > __gconv_trans_fct __trans_fct; > __gconv_trans_context_fct __trans_context_fct; > __gconv_trans_end_fct __trans_end_fct; > void *__data; > struct __gconv_trans_data *__next; >}; > > > >struct __gconv_step >{ > struct __gconv_loaded_object *__shlib_handle; > __const char *__modname; > > int __counter; > > char *__from_name; > char *__to_name; > > __gconv_fct __fct; > __gconv_btowc_fct __btowc_fct; > __gconv_init_fct __init_fct; > __gconv_end_fct __end_fct; > > > > int __min_needed_from; > int __max_needed_from; > int __min_needed_to; > int __max_needed_to; > > > int __stateful; > > void *__data; >}; > > > >struct __gconv_step_data >{ > unsigned char *__outbuf; > unsigned char *__outbufend; > > > > int __flags; > > > > int __invocation_counter; > > > > int __internal_use; > > __mbstate_t *__statep; > __mbstate_t __state; > > > > struct __gconv_trans_data *__trans; >}; > > > >typedef struct __gconv_info >{ > size_t __nsteps; > struct __gconv_step *__steps; > __extension__ struct __gconv_step_data __data []; >} *__gconv_t; ># 45 "/usr/include/_G_config.h" 2 3 4 >typedef union >{ > struct __gconv_info __cd; > struct > { > struct __gconv_info __cd; > struct __gconv_step_data __data; > } __combined; >} _G_iconv_t; > >typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); >typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); >typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); >typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); ># 33 "/usr/include/libio.h" 2 3 4 ># 53 "/usr/include/libio.h" 3 4 ># 1 "/usr/lib64/gcc/powerpc64-suse-linux/4.2.1/include/stdarg.h" 1 3 4 ># 43 "/usr/lib64/gcc/powerpc64-suse-linux/4.2.1/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_fpos_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__)); > > > > > > > > > > > > > > >extern FILE *tmpfile (void) __attribute__ ((__warn_unused_result__)); ># 188 "/usr/include/stdio.h" 3 4 >extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); > > > > > >extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); ># 206 "/usr/include/stdio.h" 3 4 >extern char *tempnam (__const char *__dir, __const char *__pfx) > __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); > > > > > > > > >extern int fclose (FILE *__stream); > > > > >extern int fflush (FILE *__stream); > ># 231 "/usr/include/stdio.h" 3 4 >extern int fflush_unlocked (FILE *__stream); ># 245 "/usr/include/stdio.h" 3 4 > > > > > > >extern FILE *fopen (__const char *__restrict __filename, > __const char *__restrict __modes) __attribute__ ((__warn_unused_result__)); > > > > >extern FILE *freopen (__const char *__restrict __filename, > __const char *__restrict __modes, > FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); ># 274 "/usr/include/stdio.h" 3 4 > ># 285 "/usr/include/stdio.h" 3 4 >extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); ># 306 "/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))); > ># 400 "/usr/include/stdio.h" 3 4 > > > > > >extern int fscanf (FILE *__restrict __stream, > __const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); > > > > >extern int scanf (__const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); > >extern int sscanf (__const char *__restrict __s, > __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); > ># 442 "/usr/include/stdio.h" 3 4 > > > > > >extern int fgetc (FILE *__stream); >extern int getc (FILE *__stream); > > > > > >extern int getchar (void); > ># 466 "/usr/include/stdio.h" 3 4 >extern int getc_unlocked (FILE *__stream); >extern int getchar_unlocked (void); ># 477 "/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); > ># 510 "/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) > __attribute__ ((__warn_unused_result__)); > > > > > > >extern char *gets (char *__s) __attribute__ ((__warn_unused_result__)); > ># 591 "/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) __attribute__ ((__warn_unused_result__)); > > > > >extern size_t fwrite (__const void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __s) __attribute__ ((__warn_unused_result__)); > ># 644 "/usr/include/stdio.h" 3 4 >extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); >extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); > > > > > > > > >extern int fseek (FILE *__stream, long int __off, int __whence); > > > > >extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)); > > > > >extern void rewind (FILE *__stream); > ># 680 "/usr/include/stdio.h" 3 4 >extern int fseeko (FILE *__stream, __off_t __off, int __whence); > > > > >extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__)); ># 699 "/usr/include/stdio.h" 3 4 > > > > > > >extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); > > > > >extern int fsetpos (FILE *__stream, __const fpos_t *__pos); ># 722 "/usr/include/stdio.h" 3 4 > ># 731 "/usr/include/stdio.h" 3 4 > > >extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__)); > >extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); > >extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); > > > > >extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__)); >extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); >extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); > > > > > > > > >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[]; ># 761 "/usr/include/stdio.h" 2 3 4 > > > > >extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); > > > > >extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); ># 780 "/usr/include/stdio.h" 3 4 >extern FILE *popen (__const char *__command, __const char *__modes) __attribute__ ((__warn_unused_result__)); > > > > > >extern int pclose (FILE *__stream); > > > > > >extern char *ctermid (char *__s) __attribute__ ((__nothrow__)); ># 820 "/usr/include/stdio.h" 3 4 >extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__)); > > > >extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); > > >extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__)); ># 841 "/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); >} ># 842 "/usr/include/stdio.h" 2 3 4 > > ># 1 "/usr/include/bits/stdio2.h" 1 3 4 ># 24 "/usr/include/bits/stdio2.h" 3 4 >extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, > __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); >extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, > __const char *__restrict __format, > __gnuc_va_list __ap) __attribute__ ((__nothrow__)); ># 38 "/usr/include/bits/stdio2.h" 3 4 >extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, > size_t __slen, __const char *__restrict __format, > ...) __attribute__ ((__nothrow__)); >extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, > size_t __slen, __const char *__restrict __format, > __gnuc_va_list __ap) __attribute__ ((__nothrow__)); ># 56 "/usr/include/bits/stdio2.h" 3 4 >extern int __fprintf_chk (FILE *__restrict __stream, int __flag, > __const char *__restrict __format, ...); >extern int __printf_chk (int __flag, __const char *__restrict __format, ...); >extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, > __const char *__restrict __format, __gnuc_va_list __ap); >extern int __vprintf_chk (int __flag, __const char *__restrict __format, > __gnuc_va_list __ap); ># 75 "/usr/include/bits/stdio2.h" 3 4 >extern char *__gets_chk (char *__str, size_t) __attribute__ ((__warn_unused_result__)); >extern char *__gets_alias (char *__str) __asm__ ("" "gets") __attribute__ ((__warn_unused_result__)); > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__warn_unused_result__)) char * >gets (char *__str) >{ > if (__builtin_object_size (__str, 2 > 1) != (size_t) -1) > return __gets_chk (__str, __builtin_object_size (__str, 2 > 1)); > return __gets_alias (__str); >} > >extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, > FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); >extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") __attribute__ ((__warn_unused_result__)); > > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__warn_unused_result__)) char * >fgets (char *__restrict __s, int __n, FILE *__restrict __stream) >{ > if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 > && (!__builtin_constant_p (__n) || (size_t) __n > __builtin_object_size (__s, 2 > 1))) > return __fgets_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); > return __fgets_alias (__s, __n, __stream); >} ># 845 "/usr/include/stdio.h" 2 3 4 > > > > > > ># 10 "bitmap_io.c" 2 > ># 1 "bitmap.h" 1 ># 9 "bitmap.h" ># 1 "../config.h" 1 ># 10 "bitmap.h" 2 > > ># 1 "/usr/include/string.h" 1 3 4 ># 28 "/usr/include/string.h" 3 4 > > > > > ># 1 "/usr/lib64/gcc/powerpc64-suse-linux/4.2.1/include/stddef.h" 1 3 4 ># 34 "/usr/include/string.h" 2 3 4 > > > > >extern void *memcpy (void *__restrict __dest, > __const void *__restrict __src, size_t __n) > __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 ># 80 "/usr/include/bits/string2.h" 3 4 >typedef struct { unsigned char __arr[2]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR2; >typedef struct { unsigned char __arr[3]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR3; >typedef struct { unsigned char __arr[4]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR4; >typedef struct { unsigned char __arr[5]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR5; >typedef struct { unsigned char __arr[6]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR6; >typedef struct { unsigned char __arr[7]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR7; >typedef struct { unsigned char __arr[8]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR8; ># 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/lib64/gcc/powerpc64-suse-linux/4.2.1/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__)) __attribute__ ((__warn_unused_result__)); > >extern void *calloc (size_t __nmemb, size_t __size) > __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); > ># 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 > > > > ># 1 "/usr/include/bits/string3.h" 1 3 4 ># 47 "/usr/include/bits/string3.h" 3 4 >static __inline __attribute__ ((__always_inline__)) void * >__attribute__ ((__nothrow__)) __memcpy_ichk (void *__restrict __dest, __const void *__restrict __src, size_t __len) > >{ > return __builtin___memcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); >} > > > > > > >static __inline __attribute__ ((__always_inline__)) void * >__attribute__ ((__nothrow__)) __memmove_ichk (void *__dest, __const void *__src, size_t __len) >{ > return __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); >} ># 85 "/usr/include/bits/string3.h" 3 4 >extern void __warn_memset_zero_len (void); > > > > > > > >static __inline __attribute__ ((__always_inline__)) void * >__attribute__ ((__nothrow__)) __memset_ichk (void *__dest, int __ch, size_t __len) >{ > return __builtin___memset_chk (__dest, __ch, __len, __builtin_object_size (__dest, 0)); >} ># 115 "/usr/include/bits/string3.h" 3 4 >static __inline __attribute__ ((__always_inline__)) char * >__attribute__ ((__nothrow__)) __strcpy_ichk (char *__restrict __dest, __const char *__restrict __src) >{ > return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); >} ># 139 "/usr/include/bits/string3.h" 3 4 >static __inline __attribute__ ((__always_inline__)) char * >__attribute__ ((__nothrow__)) __strncpy_ichk (char *__restrict __dest, __const char *__restrict __src, size_t __len) > >{ > return __builtin___strncpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); >} > > > >extern char *__stpncpy_chk (char *__dest, __const char *__src, size_t __n, > size_t __destlen) __attribute__ ((__nothrow__)); >extern char *__stpncpy_alias (char *__dest, __const char *__src, size_t __n) __asm__ ("" "stpncpy") __attribute__ ((__nothrow__)); > > > >extern __inline __attribute__ ((__always_inline__)) char * >__attribute__ ((__nothrow__)) stpncpy (char *__dest, __const char *__src, size_t __n) >{ > if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1 > && (!__builtin_constant_p (__n) || __n <= __builtin_object_size (__dest, 2 > 1))) > return __stpncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1)); > return __stpncpy_alias (__dest, __src, __n); >} > > > > > > >static __inline __attribute__ ((__always_inline__)) char * >__attribute__ ((__nothrow__)) __strcat_ichk (char *__restrict __dest, __const char *__restrict __src) >{ > return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); >} > > > > > > >static __inline __attribute__ ((__always_inline__)) char * >__attribute__ ((__nothrow__)) __strncat_ichk (char *__restrict __dest, __const char *__restrict __src, size_t __len) > >{ > return __builtin___strncat_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); >} ># 429 "/usr/include/string.h" 2 3 4 > > > > ># 13 "bitmap.h" 2 ># 1 "/usr/include/stdlib.h" 1 3 4 ># 33 "/usr/include/stdlib.h" 3 4 ># 1 "/usr/lib64/gcc/powerpc64-suse-linux/4.2.1/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__)) __attribute__ ((__warn_unused_result__)); > > > > >extern double atof (__const char *__nptr) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > >extern int atoi (__const char *__nptr) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > >extern long int atol (__const char *__nptr) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > >__extension__ extern long long int atoll (__const char *__nptr) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > >extern double strtod (__const char *__restrict __nptr, > char **__restrict __endptr) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > ># 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))) __attribute__ ((__warn_unused_result__)); > >extern unsigned long int strtoul (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > >__extension__ >extern long long int strtoq (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > >__extension__ >extern unsigned long long int strtouq (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > >__extension__ >extern long long int strtoll (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > >__extension__ >extern unsigned long long int strtoull (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > ># 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))) __attribute__ ((__warn_unused_result__)); >extern float __strtof_internal (__const char *__restrict __nptr, > char **__restrict __endptr, int __group) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); >extern long double __strtold_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __group) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > >extern long int __strtol_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, int __group) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > >extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, int __group) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > >__extension__ >extern long long int __strtoll_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, int __group) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > >__extension__ >extern unsigned long long int __strtoull_internal (__const char * > __restrict __nptr, > char **__restrict __endptr, > int __base, int __group) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > > > > >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__)) __attribute__ ((__warn_unused_result__)); > > >extern long int a64l (__const char *__s) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > ># 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 __ino_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 __off_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/lib64/gcc/powerpc64-suse-linux/4.2.1/include/stddef.h" 1 3 4 ># 148 "/usr/include/sys/types.h" 2 3 4 > > > >typedef unsigned long int ulong; >typedef unsigned short int ushort; >typedef unsigned int uint; ># 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__))); ># 217 "/usr/include/sys/types.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 ># 218 "/usr/include/sys/types.h" 2 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 ># 235 "/usr/include/sys/types.h" 3 4 >typedef __blkcnt_t blkcnt_t; > > > >typedef __fsblkcnt_t fsblkcnt_t; > > > >typedef __fsfilcnt_t fsfilcnt_t; ># 270 "/usr/include/sys/types.h" 3 4 ># 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 ># 24 "/usr/include/bits/pthreadtypes.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 25 "/usr/include/bits/pthreadtypes.h" 2 3 4 ># 51 "/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; ># 77 "/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; ># 102 "/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; ># 185 "/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/lib64/gcc/powerpc64-suse-linux/4.2.1/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__)) __attribute__ ((__warn_unused_result__)); > > > > >extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > >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))) __attribute__ ((__warn_unused_result__)); > > > > >extern char *__secure_getenv (__const char *__name) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > >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))) __attribute__ ((__warn_unused_result__)); ># 709 "/usr/include/stdlib.h" 3 4 >extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); ># 729 "/usr/include/stdlib.h" 3 4 >extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > > > > >extern int system (__const char *__command) __attribute__ ((__warn_unused_result__)); > ># 755 "/usr/include/stdlib.h" 3 4 >extern char *realpath (__const char *__restrict __name, > char *__restrict __resolved) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); > > > > > > >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))) __attribute__ ((__warn_unused_result__)); > > > >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__)) __attribute__ ((__warn_unused_result__)); >extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); > > > > > > > > > > > > >extern div_t div (int __numer, int __denom) > __attribute__ ((__nothrow__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); >extern ldiv_t ldiv (long int __numer, long int __denom) > __attribute__ ((__nothrow__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); > ># 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))) __attribute__ ((__warn_unused_result__)); > > > > >extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); > > > > >extern char *gcvt (double __value, int __ndigit, char *__buf) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); > > > > >extern char *qecvt (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); >extern char *qfcvt (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); >extern char *qgcvt (long double __value, int __ndigit, char *__buf) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); > > > > >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__)) __attribute__ ((__warn_unused_result__)); > > >extern int mbtowc (wchar_t *__restrict __pwc, > __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); > > >extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); > > > >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))) __attribute__ ((__warn_unused_result__)); ># 925 "/usr/include/stdlib.h" 3 4 >extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__)); ># 960 "/usr/include/stdlib.h" 3 4 >extern int getloadavg (double __loadavg[], int __nelem) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > > > > ># 1 "/usr/include/bits/stdlib.h" 1 3 4 ># 24 "/usr/include/bits/stdlib.h" 3 4 >extern char *__realpath_chk (__const char *__restrict __name, > char *__restrict __resolved, > size_t __resolvedlen) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); >extern char *__realpath_alias (__const char *__restrict __name, char *__restrict __resolved) __asm__ ("" "realpath") __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); > > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__warn_unused_result__)) char * >__attribute__ ((__nothrow__)) realpath (__const char *__restrict __name, char *__restrict __resolved) >{ > if (__builtin_object_size (__resolved, 2 > 1) != (size_t) -1) > return __realpath_chk (__name, __resolved, __builtin_object_size (__resolved, 2 > 1)); > > return __realpath_alias (__name, __resolved); >} > > >extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, > size_t __nreal) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); >extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ptsname_r") __attribute__ ((__nothrow__)) > > __attribute__ ((__nonnull__ (2))); > >extern __inline __attribute__ ((__always_inline__)) int >__attribute__ ((__nothrow__)) ptsname_r (int __fd, char *__buf, size_t __buflen) >{ > if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1 > && (!__builtin_constant_p (__buflen) || __buflen > __builtin_object_size (__buf, 2 > 1))) > return __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); > return __ptsname_r_alias (__fd, __buf, __buflen); >} > > >extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) > __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); >extern int __wctomb_alias (char *__s, wchar_t __wchar) __asm__ ("" "wctomb") __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__warn_unused_result__)) int >__attribute__ ((__nothrow__)) wctomb (char *__s, wchar_t __wchar) >{ > > > > > > > > if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) > return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1)); > return __wctomb_alias (__s, __wchar); >} > > >extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, > __const char *__restrict __src, > size_t __len, size_t __dstlen) __attribute__ ((__nothrow__)); >extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, __const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__)); > > > > >extern __inline __attribute__ ((__always_inline__)) size_t >__attribute__ ((__nothrow__)) mbstowcs (wchar_t *__restrict __dst, __const char *__restrict __src, size_t __len) > >{ > if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1 > && (!__builtin_constant_p (__len) > || __len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t))) > return __mbstowcs_chk (__dst, __src, __len, > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); > return __mbstowcs_alias (__dst, __src, __len); >} > > >extern size_t __wcstombs_chk (char *__restrict __dst, > __const wchar_t *__restrict __src, > size_t __len, size_t __dstlen) __attribute__ ((__nothrow__)); >extern size_t __wcstombs_alias (char *__restrict __dst, __const wchar_t *__restrict __src, size_t __len) __asm__ ("" "wcstombs") __attribute__ ((__nothrow__)); > > > > >extern __inline __attribute__ ((__always_inline__)) size_t >__attribute__ ((__nothrow__)) wcstombs (char *__restrict __dst, __const wchar_t *__restrict __src, size_t __len) > >{ > if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1 > && (!__builtin_constant_p (__len) || __len > __builtin_object_size (__dst, 2 > 1))) > return __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); > return __wcstombs_alias (__dst, __src, __len); >} ># 968 "/usr/include/stdlib.h" 2 3 4 ># 976 "/usr/include/stdlib.h" 3 4 > ># 14 "bitmap.h" 2 > > ># 1 "potracelib.h" 1 ># 24 "potracelib.h" >struct potrace_progress_s { > void (*callback)(double progress, void *privdata); > void *data; > double min, max; > double epsilon; >}; >typedef struct potrace_progress_s potrace_progress_t; > > >struct potrace_param_s { > int turdsize; > int turnpolicy; > double alphamax; > int opticurve; > double opttolerance; > potrace_progress_t progress; >}; >typedef struct potrace_param_s potrace_param_t; > > > > > >typedef unsigned long potrace_word; > > > > > >struct potrace_bitmap_s { > int w, h; > int dy; > potrace_word *map; >}; >typedef struct potrace_bitmap_s potrace_bitmap_t; > > > > > >struct potrace_dpoint_s { > double x, y; >}; >typedef struct potrace_dpoint_s potrace_dpoint_t; > > > > > > >struct potrace_curve_s { > int n; > int *tag; > potrace_dpoint_t (*c)[3]; > >}; >typedef struct potrace_curve_s potrace_curve_t; > > >struct potrace_path_s { > int area; > int sign; > potrace_curve_t curve; > > struct potrace_path_s *next; > > struct potrace_path_s *childlist; > struct potrace_path_s *sibling; > > struct potrace_privpath_s *priv; >}; >typedef struct potrace_path_s potrace_path_t; > > > > > > > >struct potrace_state_s { > int status; > potrace_path_t *plist; > > struct potrace_privstate_s *priv; >}; >typedef struct potrace_state_s potrace_state_t; > > > > > >potrace_param_t *potrace_param_default(void); > > >void potrace_param_free(potrace_param_t *p); > > >potrace_state_t *potrace_trace(const potrace_param_t *param, > const potrace_bitmap_t *bm); > > >void potrace_state_free(potrace_state_t *st); > > > >char *potrace_version(void); ># 17 "bitmap.h" 2 ># 51 "bitmap.h" >static inline void bm_free(potrace_bitmap_t *bm) { > if (bm) { > free(bm->map); > } > free(bm); >} > > >static inline potrace_bitmap_t *bm_new(int w, int h) { > potrace_bitmap_t *bm; > int dy = (w + (8*((int)sizeof(potrace_word))) - 1) / (8*((int)sizeof(potrace_word))); > > bm = (potrace_bitmap_t *) malloc(sizeof(potrace_bitmap_t)); > if (!bm) { > return ((void *)0); > } > bm->w = w; > bm->h = h; > bm->dy = dy; > bm->map = (potrace_word *) malloc(dy * h * ((int)sizeof(potrace_word))); > if (!bm->map) { > free(bm); > return ((void *)0); > } > return bm; >} > > >static inline void bm_clear(potrace_bitmap_t *bm, int c) { > (__builtin_constant_p (bm->dy * bm->h * ((int)sizeof(potrace_word))) && (bm->dy * bm->h * ((int)sizeof(potrace_word))) == 0 ? (__warn_memset_zero_len (), (void) (c ? -1 : 0), (void) (bm->dy * bm->h * ((int)sizeof(potrace_word))), (void *) (bm->map)) : ((__builtin_object_size (bm->map, 0) != (size_t) -1) ? __builtin___memset_chk (bm->map, c ? -1 : 0, bm->dy * bm->h * ((int)sizeof(potrace_word)), __builtin_object_size (bm->map, 0)) : __memset_ichk (bm->map, c ? -1 : 0, bm->dy * bm->h * ((int)sizeof(potrace_word))))); >} > > >static inline potrace_bitmap_t *bm_dup(const potrace_bitmap_t *bm) { > potrace_bitmap_t *bm1 = bm_new(bm->w, bm->h); > if (!bm1) { > return ((void *)0); > } > ((__builtin_object_size (bm1->map, 0) != (size_t) -1) ? __builtin___memcpy_chk (bm1->map, bm->map, bm->dy * bm->h * ((int)sizeof(potrace_word)), __builtin_object_size (bm1->map, 0)) : __memcpy_ichk (bm1->map, bm->map, bm->dy * bm->h * ((int)sizeof(potrace_word)))); > return bm1; >} > > >static inline void bm_invert(potrace_bitmap_t *bm) { > int i; > for (i = 0; i < bm->dy * bm->h; i++) { > bm->map[i] ^= (~(potrace_word)0); > } >} ># 12 "bitmap_io.c" 2 > > > >static int bm_readbody_bmp(FILE *f, double threshold, potrace_bitmap_t **bmp); >static int bm_readbody_pnm(FILE *f, double threshold, potrace_bitmap_t **bmp, int magic); > > > > > > >static int fgetc_ws(FILE *f) { > int c; > > while (1) { > c = fgetc(f); > if (c=='#') { > while (1) { > c = fgetc(f); > if (c=='\n' || c==(-1)) { > break; > } > } > } > > if (c!=' ' && c!='\t' && c!='\r' && c!='\n' && c!=12) { > return c; > } > } >} > > > > > > >static int readnum(FILE *f) { > int c; > int acc; > > > while (1) { > c = fgetc_ws(f); > if (c==(-1)) { > return -1; > } > if (c>='0' && c<='9') { > break; > } > } > > > acc = c-'0'; > while (1) { > c = fgetc(f); > if (c==(-1)) { > break; > } > if (c<'0' || c>'9') { > ungetc(c, f); > break; > } > acc *= 10; > acc += c-'0'; > } > return acc; >} > > > > >static int readbit(FILE *f) { > int c; > > > while (1) { > c = fgetc_ws(f); > if (c==(-1)) { > return -1; > } > if (c>='0' && c<='1') { > break; > } > } > > return c-'0'; >} ># 110 "bitmap_io.c" >char *bm_read_error = ((void *)0); > >int bm_read(FILE *f, double threshold, potrace_bitmap_t **bmp) { > int magic[2]; > > > > > > > magic[0] = fgetc_ws(f); > if (magic[0] == (-1)) { > return -3; > } > magic[1] = fgetc(f); > if (magic[0] == 'P' && magic[1] >= '1' && magic[1] <= '6') { > return bm_readbody_pnm(f, threshold, bmp, magic[1]); > } > if (magic[0] == 'B' && magic[1] == 'M') { > return bm_readbody_bmp(f, threshold, bmp); > } > return -4; >} > > > > > >static int bm_readbody_pnm(FILE *f, double threshold, potrace_bitmap_t **bmp, int magic) { > potrace_bitmap_t *bm; > int x, y, i, b, b1, sum; > int bpr; > int w, h, max; > > bm = ((void *)0); > > w = readnum(f); > if (w<0) { > goto format_error; > } > > h = readnum(f); > if (h<0) { > goto format_error; > } > > > bm = bm_new(w, h); > if (!bm) { > return -1; > } > > > bm_clear(bm, 0); > > switch (magic) { > default: > > goto format_error; > > case '1': > > > for (y=h-1; y>=0; y--) { > for (x=0; x<w; x++) { > b = readbit(f); > if (b<0) { > goto eof; > } > ((b) ? (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) |= ((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1)))) : (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) &= ~((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1))))); > } > } > break; > > case '2': > > > max = readnum(f); > if (max<1) { > goto format_error; > } > > for (y=h-1; y>=0; y--) { > for (x=0; x<w; x++) { > b = readnum(f); > if (b<0) { > goto eof; > } > ((b > threshold * max ? 0 : 1) ? (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) |= ((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1)))) : (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) &= ~((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1))))); > } > } > break; > > case '3': > > > max = readnum(f); > if (max<1) { > goto format_error; > } > > for (y=h-1; y>=0; y--) { > for (x=0; x<w; x++) { > sum = 0; > for (i=0; i<3; i++) { > b = readnum(f); > if (b<0) { > goto eof; > } > sum += b; > } > ((sum > 3 * threshold * max ? 0 : 1) ? (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) |= ((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1)))) : (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) &= ~((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1))))); > } > } > break; > > case '4': > > > b = fgetc(f); > if (b==(-1)) { > goto format_error; > } > > bpr = (w+7)/8; > > for (y=h-1; y>=0; y--) { > for (i=0; i<bpr; i++) { > b = fgetc(f); > if (b==(-1)) { > goto eof; > } > *(&((bm)->map + (y)*(bm)->dy)[(i*8)/(8*((int)sizeof(potrace_word)))]) |= ((potrace_word)b) << (8*(((int)sizeof(potrace_word))-1-(i % ((int)sizeof(potrace_word))))); > } > } > break; > > case '5': > > > max = readnum(f); > if (max<1) { > goto format_error; > } > > b = fgetc(f); > if (b==(-1)) { > goto format_error; > } > > for (y=h-1; y>=0; y--) { > for (x=0; x<w; x++) { > b = fgetc(f); > if (b==(-1)) > goto eof; > if (max>=256) { > b <<= 8; > b1 = fgetc(f); > if (b1==(-1)) > goto eof; > b |= b1; > } > ((b > threshold * max ? 0 : 1) ? (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) |= ((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1)))) : (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) &= ~((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1))))); > } > } > break; > > case '6': > > > max = readnum(f); > if (max<1) { > goto format_error; > } > > b = fgetc(f); > if (b==(-1)) { > goto format_error; > } > > for (y=h-1; y>=0; y--) { > for (x=0; x<w; x++) { > sum = 0; > for (i=0; i<3; i++) { > b = fgetc(f); > if (b==(-1)) { > goto eof; > } > if (max>=256) { > b <<= 8; > b1 = fgetc(f); > if (b1==(-1)) > goto eof; > b |= b1; > } > sum += b; > } > ((sum > 3 * threshold * max ? 0 : 1) ? (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) |= ((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1)))) : (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) &= ~((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1))))); > } > } > break; > } > > *bmp = bm; > return 0; > > eof: > *bmp = bm; > return 1; > > format_error: > bm_free(bm); > if (magic == '1' || magic == '4') { > bm_read_error = "invalid pbm file"; > } else if (magic == '2' || magic == '5') { > bm_read_error = "invalid pgm file"; > } else { > bm_read_error = "invalid ppm file"; > } > return -2; >} > > > > >struct bmp_info_s { > unsigned int FileSize; > unsigned int reserved; > unsigned int DataOffset; > unsigned int InfoSize; > unsigned int w; > unsigned int h; > unsigned int Planes; > unsigned int bits; > unsigned int comp; > unsigned int ImageSize; > unsigned int XpixelsPerM; > unsigned int YpixelsPerM; > unsigned int ncolors; > unsigned int ColorsImportant; > unsigned int ctbits; >}; >typedef struct bmp_info_s bmp_info_t; > > > >static int bmp_count = 0; >static int bmp_pos = 0; > > > >static int bmp_readint(FILE *f, int n, unsigned int *p) { > int i; > unsigned int sum = 0; > int b; > > for (i=0; i<n; i++) { > b = fgetc(f); > if (b==(-1)) { > return 1; > } > sum += b << (8*i); > } > bmp_count += n; > bmp_pos += n; > *p = sum; > return 0; >} > > >static void bmp_pad_reset(void) { > bmp_count = 0; >} > > > >static int bmp_pad(FILE *f) { > int c, i, b; > > c = (-bmp_count) & 3; > for (i=0; i<c; i++) { > b = fgetc(f); > if (b==(-1)) { > return 1; > } > } > bmp_pos += c; > bmp_count = 0; > return 0; >} > > >static int bmp_forward(FILE *f, int pos) { > int b; > > while (bmp_pos < pos) { > b = fgetc(f); > if (b==(-1)) { > return 1; > } > bmp_pos++; > bmp_count++; > } > return 0; >} ># 426 "bitmap_io.c" >static int bm_readbody_bmp(FILE *f, double threshold, potrace_bitmap_t **bmp) { > bmp_info_t bmpinfo; > int *coltable; > unsigned int b, c; > unsigned int i; > potrace_bitmap_t *bm; > int mask; > unsigned int x, y; > int col[2]; > unsigned int bitbuf; > unsigned int n; > int col1[2]; > > bm_read_error = ((void *)0); > bm = ((void *)0); > coltable = ((void *)0); > > bmp_pos = 2; > > > if (bmp_readint(f, 4, &bmpinfo.FileSize)) goto try_error; > if (bmp_readint(f, 4, &bmpinfo.reserved)) goto try_error; > if (bmp_readint(f, 4, &bmpinfo.DataOffset)) goto try_error; > > > if (bmp_readint(f, 4, &bmpinfo.InfoSize)) goto try_error; > if (bmpinfo.InfoSize == 40 || bmpinfo.InfoSize == 64) { > > bmpinfo.ctbits = 32; > if (bmp_readint(f, 4, &bmpinfo.w)) goto try_error; > if (bmp_readint(f, 4, &bmpinfo.h)) goto try_error; > if (bmp_readint(f, 2, &bmpinfo.Planes)) goto try_error; > if (bmp_readint(f, 2, &bmpinfo.bits)) goto try_error; > if (bmp_readint(f, 4, &bmpinfo.comp)) goto try_error; > if (bmp_readint(f, 4, &bmpinfo.ImageSize)) goto try_error; > if (bmp_readint(f, 4, &bmpinfo.XpixelsPerM)) goto try_error; > if (bmp_readint(f, 4, &bmpinfo.YpixelsPerM)) goto try_error; > if (bmp_readint(f, 4, &bmpinfo.ncolors)) goto try_error; > if (bmp_readint(f, 4, &bmpinfo.ColorsImportant)) goto try_error; > } else if (bmpinfo.InfoSize == 12) { > > bmpinfo.ctbits = 24; > if (bmp_readint(f, 2, &bmpinfo.w)) goto try_error; > if (bmp_readint(f, 2, &bmpinfo.h)) goto try_error; > if (bmp_readint(f, 2, &bmpinfo.Planes)) goto try_error; > if (bmp_readint(f, 2, &bmpinfo.bits)) goto try_error; > bmpinfo.comp = 0; > bmpinfo.ncolors = 0; > } else { > goto format_error; > } > > > if (bmp_forward(f, 14+bmpinfo.InfoSize)) goto try_error; > > if (bmpinfo.Planes != 1) { > bm_read_error = "cannot handle bmp planes"; > goto format_error; > } > > if (bmpinfo.ncolors == 0) { > bmpinfo.ncolors = 1 << bmpinfo.bits; > } > > > if (bmpinfo.bits <= 8) { > coltable = (int *) malloc(bmpinfo.ncolors * sizeof(int)); > if (!coltable) { > goto std_error; > } > > > for (i=0; i<bmpinfo.ncolors; i++) { > if (bmp_readint(f, bmpinfo.ctbits/8, &c)) goto try_error; > c = ((c>>16) & 0xff) + ((c>>8) & 0xff) + (c & 0xff); > coltable[i] = (c > 3 * threshold * 255 ? 0 : 1); > if (i<2) { > col1[i] = c; > } > } > } > > > if (bmpinfo.InfoSize != 12) { > if (bmp_forward(f, bmpinfo.DataOffset)) goto try_error; > } > > > bm = bm_new(bmpinfo.w, bmpinfo.h); > if (!bm) { > goto std_error; > } > > > bm_clear(bm, 0); > > switch (bmpinfo.bits + 0x100*bmpinfo.comp) { > > default: > goto format_error; > break; > > case 0x001: > if (col1[0] < col1[1]) { > mask = 0xff; > } else { > mask = 0; > } > > > for (y=0; y<bmpinfo.h; y++) { > bmp_pad_reset(); > for (i=0; 8*i<bmpinfo.w; i++) { > if (bmp_readint(f, 1, &b)) goto eof; > b ^= mask; > *(&((bm)->map + (y)*(bm)->dy)[(i*8)/(8*((int)sizeof(potrace_word)))]) |= ((potrace_word)b) << (8*(((int)sizeof(potrace_word))-1-(i % ((int)sizeof(potrace_word))))); > } > if (bmp_pad(f)) goto try_error; > } > break; > > case 0x002: > case 0x003: > case 0x004: > case 0x005: > case 0x006: > case 0x007: > case 0x008: > for (y=0; y<bmpinfo.h; y++) { > bmp_pad_reset(); > bitbuf = 0; > n = 0; > for (x=0; x<bmpinfo.w; x++) { > if (n < bmpinfo.bits) { > if (bmp_readint(f, 1, &b)) goto eof; > bitbuf |= b << ((8*sizeof(int)) - 8 - n); > n += 8; > } > b = bitbuf >> ((8*sizeof(int)) - bmpinfo.bits); > bitbuf <<= bmpinfo.bits; > n -= bmpinfo.bits; > ((coltable[b]) ? (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) |= ((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1)))) : (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) &= ~((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1))))); > } > if (bmp_pad(f)) goto try_error; > } > break; > > case 0x010: > > > bm_read_error = "cannot handle bmp 16-bit coding"; > goto format_error; > break; > > case 0x018: > case 0x020: > for (y=0; y<bmpinfo.h; y++) { > bmp_pad_reset(); > for (x=0; x<bmpinfo.w; x++) { > if (bmp_readint(f, bmpinfo.bits/8, &c)) goto eof; > c = ((c>>16) & 0xff) + ((c>>8) & 0xff) + (c & 0xff); > ((c > 3 * threshold * 255 ? 0 : 1) ? (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) |= ((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1)))) : (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) &= ~((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1))))); > } > if (bmp_pad(f)) goto try_error; > } > break; > > case 0x204: > x = 0; > y = 0; > while (1) { > if (bmp_readint(f, 1, &b)) goto eof; > if (bmp_readint(f, 1, &c)) goto eof; > if (b>0) { > > col[0] = coltable[(c>>4) & 0xf]; > col[1] = coltable[c & 0xf]; > for (i=0; i<b && x<bmpinfo.w; i++) { > if (x>=bmpinfo.w) { > x=0; > y++; > } > if (y>=bmpinfo.h) { > break; > } > ((col[i&1]) ? (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) |= ((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1)))) : (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) &= ~((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1))))); > x++; > } > } else if (c == 0) { > > y++; > x = 0; > } else if (c == 1) { > > break; > } else if (c == 2) { > > if (bmp_readint(f, 1, &b)) goto eof; > if (bmp_readint(f, 1, &c)) goto eof; > x += b; > y += c; > } else { > > for (i=0; i<c; i++) { > if ((i&1)==0) { > if (bmp_readint(f, 1, &b)) goto eof; > } > if (x>=bmpinfo.w) { > x=0; > y++; > } > if (y>=bmpinfo.h) { > break; > } > ((((int)(x) >= 0 && (int)(x) < ((bm)->w)) && ((int)(y) >= 0 && (int)(y) < ((bm)->h))) ? ((coltable[(b>>(4-4*(i&1))) & 0xf]) ? (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) |= ((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1)))) : (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) &= ~((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1))))) : 0); > x++; > } > if ((c+1) & 2) { > > if (bmp_readint(f, 1, &b)) goto eof; > } > } > } > break; > > case 0x108: > x = 0; > y = 0; > while (1) { > if (bmp_readint(f, 1, &b)) goto eof; > if (bmp_readint(f, 1, &c)) goto eof; > if (b>0) { > > for (i=0; i<b; i++) { > if (x>=bmpinfo.w) { > x=0; > y++; > } > if (y>=bmpinfo.h) { > break; > } > ((coltable[c]) ? (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) |= ((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1)))) : (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) &= ~((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1))))); > x++; > } > } else if (c == 0) { > > y++; > x = 0; > } else if (c == 1) { > > break; > } else if (c == 2) { > > if (bmp_readint(f, 1, &b)) goto eof; > if (bmp_readint(f, 1, &c)) goto eof; > x += b; > y += c; > } else { > > for (i=0; i<c; i++) { > if (bmp_readint(f, 1, &b)) goto eof; > if (x>=bmpinfo.w) { > x=0; > y++; > } > if (y>=bmpinfo.h) { > break; > } > ((((int)(x) >= 0 && (int)(x) < ((bm)->w)) && ((int)(y) >= 0 && (int)(y) < ((bm)->h))) ? ((coltable[b]) ? (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) |= ((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1)))) : (*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) &= ~((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1))))) : 0); > x++; > } > if (c & 1) { > > if (bmp_readint(f, 1, &b)) goto eof; > } > } > } > break; > > } > > > > bmp_forward(f, bmpinfo.FileSize); > > free(coltable); > *bmp = bm; > return 0; > > eof: > free(coltable); > *bmp = bm; > return 1; > > format_error: > try_error: > free(coltable); > free(bm); > if (!bm_read_error) { > bm_read_error = "invalid bmp file"; > } > return -2; > > std_error: > free(coltable); > free(bm); > return -1; >} > > > > >void bm_writepbm(FILE *f, potrace_bitmap_t *bm) { > int w, h, bpr, y, i, c; > > w = bm->w; > h = bm->h; > > bpr = (w+7)/8; > > __fprintf_chk (f, 2 - 1, "P4\n%d %d\n", w, h); > for (y=h-1; y>=0; y--) { > for (i=0; i<bpr; i++) { > c = (*(&((bm)->map + (y)*(bm)->dy)[(i*8)/(8*((int)sizeof(potrace_word)))]) >> (8*(((int)sizeof(potrace_word))-1-(i % ((int)sizeof(potrace_word)))))) & 0xff; > fputc(c, f); > } > } > return; >} > > > > > >int bm_print(FILE *f, potrace_bitmap_t *bm) { > int x, y; > int xx, yy; > int d; > int sw, sh; > > sw = bm->w < 79 ? bm->w : 79; > sh = bm->w < 79 ? bm->h : bm->h*sw*44/(79*bm->w); > > for (yy=sh-1; yy>=0; yy--) { > for (xx=0; xx<sw; xx++) { > d=0; > for (x=xx*bm->w/sw; x<(xx+1)*bm->w/sw; x++) { > for (y=yy*bm->h/sh; y<(yy+1)*bm->h/sh; y++) { > if (((((int)(x) >= 0 && (int)(x) < ((bm)->w)) && ((int)(y) >= 0 && (int)(y) < ((bm)->h))) ? ((*(&((bm)->map + (y)*(bm)->dy)[(x)/(8*((int)sizeof(potrace_word)))]) & ((((potrace_word)1)<<((8*((int)sizeof(potrace_word)))-1)) >> ((x) & ((8*((int)sizeof(potrace_word)))-1)))) != 0) : 0)) { > d++; > } > } > } > fputc(d ? '*' : ' ', f); > } > fputc('\n', f); > } > return 0; >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 33148
: 14094