Paul,

Looks like /usr/include/getopt.h and gsftopk.c is where the conflict comes
in.  getopt.h is part of the gnu c library.  Any suggestions what to do
next?  The output from the compile is attached in text format.

Jeanie

-----Original Message-----
From: Paul Vojta [mailto:vojta@;Math.Berkeley.EDU]
Sent: Wednesday, October 16, 2002 4:12 PM
To: Schwenk, Jeanie; [EMAIL PROTECTED]; [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: RE: redefinition of `struct option'


> Date: Wed, 16 Oct 2002 16:07:06 -0700 (PDT)
> From: Paul Vojta <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED], [EMAIL PROTECTED]
> Subject: RE: redefinition of `struct option'
> Cc: [EMAIL PROTECTED], [EMAIL PROTECTED]
>
> > That is a very good question.  I do not know.
> 
> gcc usually tells you.  Right after the diagnostic message, it should give
> another diagnostic message telling where the "struct union" was
> defined earlier.

I misspoke.  It only does that for cpp symbols.

Run gcc using the same options as before, but change "-c" to "-E", and
send me the output.

--Paul Vojta, [EMAIL PROTECTED]

cd ./kpathsea && make  CC='gcc' CFLAGS='-g -O2 ' prefix=/usr/local/teTex 
exec_prefix=/usr/local/teTex bindir=/usr/local/teTex/bin/i586-pc-linux-gnu 
scriptdir=/usr/local/teTex/bin/i586-pc-linux-gnu libdir=/usr/local/teTex/lib 
datadir=/usr/local/teTex/share infodir=/usr/local/teTex/info 
includedir=/usr/local/teTex/include manext=1 mandir=/usr/local/teTex/man/man1 
texmf=/usr/local/teTex/share/texmf web2cdir=/usr/local/teTex/share/texmf/web2c 
vartexfonts=/var/tmp/texfonts texinputdir=/usr/local/teTex/share/texmf/tex 
mfinputdir=/usr/local/teTex/share/texmf/metafont 
mpinputdir=/usr/local/teTex/share/texmf/metapost 
fontdir=/usr/local/teTex/share/texmf/fonts fmtdir=/usr/local/teTex/share/texmf/web2c 
basedir=/usr/local/teTex/share/texmf/web2c memdir=/usr/local/teTex/share/texmf/web2c 
texpooldir=/usr/local/teTex/share/texmf/web2c 
mfpooldir=/usr/local/teTex/share/texmf/web2c 
mppooldir=/usr/local/teTex/share/texmf/web2c 
dvips_plain_macrodir=/usr/local/teTex/share/texmf/tex/plain/dvips 
dvilj_latex2e_macrodir=/usr/local/teTex/share/texmf/tex/latex/dvilj 
dvipsdir=/usr/local/teTex/share/texmf/dvips 
psheaderdir=/usr/local/teTex/share/texmf/dvips default_texsizes='300:600' 
make[1]: Entering directory `/usr/local/src/teTeX-1.0/texk/kpathsea'
make[1]: Nothing to be done for `default'.
make[1]: Leaving directory `/usr/local/src/teTeX-1.0/texk/kpathsea'
for d in web2c dtl dvidvi dviljk dvipdfm dvipsk gsftopk lacheck makeindexk musixflx 
odvipsk oxdvik ps2pkm seetexk tetex tex4htk texlive tth xdvik; do if test -d $d; then \
  (cd $d && make  CC='gcc' CFLAGS='-g -O2 ' prefix=/usr/local/teTex 
exec_prefix=/usr/local/teTex bindir=/usr/local/teTex/bin/i586-pc-linux-gnu 
scriptdir=/usr/local/teTex/bin/i586-pc-linux-gnu libdir=/usr/local/teTex/lib 
datadir=/usr/local/teTex/share infodir=/usr/local/teTex/info 
includedir=/usr/local/teTex/include manext=1 mandir=/usr/local/teTex/man/man1 
texmf=/usr/local/teTex/share/texmf web2cdir=/usr/local/teTex/share/texmf/web2c 
vartexfonts=/var/tmp/texfonts texinputdir=/usr/local/teTex/share/texmf/tex 
mfinputdir=/usr/local/teTex/share/texmf/metafont 
mpinputdir=/usr/local/teTex/share/texmf/metapost 
fontdir=/usr/local/teTex/share/texmf/fonts fmtdir=/usr/local/teTex/share/texmf/web2c 
basedir=/usr/local/teTex/share/texmf/web2c memdir=/usr/local/teTex/share/texmf/web2c 
texpooldir=/usr/local/teTex/share/texmf/web2c 
mfpooldir=/usr/local/teTex/share/texmf/web2c 
mppooldir=/usr/local/teTex/share/texmf/web2c 
dvips_plain_macrodir=/usr/local/teTex/share/texmf/tex/plain/dvips 
dvilj_latex2e_macrodir=/usr/local/teTex/share/texmf/tex/latex/dvilj 
dvipsdir=/usr/local/teTex/share/texmf/dvips 
psheaderdir=/usr/local/teTex/share/texmf/dvips default_texsizes='300:600'  default) || 
exit 1; else true; fi; done
make[1]: Entering directory `/usr/local/src/teTeX-1.0/texk/web2c'
cd lib && make -w CC='gcc' CFLAGS='-g -O2 ' 
make[2]: Entering directory `/usr/local/src/teTeX-1.0/texk/web2c/lib'
make[2]: Nothing to be done for `default'.
make[2]: Leaving directory `/usr/local/src/teTeX-1.0/texk/web2c/lib'
cd ../../libs/zlib && make -w CC='gcc' CFLAGS='-g -O2 '  libz.a
make[2]: Entering directory `/usr/local/src/teTeX-1.0/libs/zlib'
make[2]: `libz.a' is up to date.
make[2]: Leaving directory `/usr/local/src/teTeX-1.0/libs/zlib'
cd man && make all
make[2]: Entering directory `/usr/local/src/teTeX-1.0/texk/web2c/man'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/local/src/teTeX-1.0/texk/web2c/man'
make[1]: Leaving directory `/usr/local/src/teTeX-1.0/texk/web2c'
make[1]: Entering directory `/usr/local/src/teTeX-1.0/texk/dviljk'
make[1]: Nothing to be done for `default'.
make[1]: Leaving directory `/usr/local/src/teTeX-1.0/texk/dviljk'
make[1]: Entering directory `/usr/local/src/teTeX-1.0/texk/dvipsk'
make[1]: Nothing to be done for `default'.
make[1]: Leaving directory `/usr/local/src/teTeX-1.0/texk/dvipsk'
make[1]: Entering directory `/usr/local/src/teTeX-1.0/texk/gsftopk'
gcc -DHAVE_CONFIG_H   -DKPATHSEA -I. -I. -I.. -I./..   -g -O2  -E gsftopk.c
# 25 "gsftopk.c"
static char copyright[] =
"@(#) Copyright (c) 1993-1998 Paul Vojta.\n";
# 39 "gsftopk.c"
# 1 "version.h" 1
# 40 "gsftopk.c" 2
# 228 "gsftopk.c"
# 1 "../kpathsea/config.h" 1
# 42 "../kpathsea/config.h"
# 1 "../kpathsea/c-auto.h" 1
# 43 "../kpathsea/config.h" 2
# 59 "../kpathsea/config.h"
# 1 "../kpathsea/c-std.h" 1
# 28 "../kpathsea/c-std.h"
# 1 "/usr/include/math.h" 1 3
# 27 "/usr/include/math.h" 3
# 1 "/usr/include/features.h" 1 3
# 283 "/usr/include/features.h" 3
# 1 "/usr/include/sys/cdefs.h" 1 3
# 284 "/usr/include/features.h" 2 3
# 312 "/usr/include/features.h" 3
# 1 "/usr/include/gnu/stubs.h" 1 3
# 313 "/usr/include/features.h" 2 3
# 28 "/usr/include/math.h" 2 3





# 1 "/usr/include/bits/huge_val.h" 1 3
# 25 "/usr/include/bits/huge_val.h" 3
# 1 "/usr/include/features.h" 1 3
# 26 "/usr/include/bits/huge_val.h" 2 3
# 34 "/usr/include/math.h" 2 3






# 1 "/usr/include/bits/mathdef.h" 1 3
# 41 "/usr/include/math.h" 2 3
# 63 "/usr/include/math.h" 3
# 1 "/usr/include/bits/mathcalls.h" 1 3
# 54 "/usr/include/bits/mathcalls.h" 3
extern double acos (double __x) ; extern double __acos (double __x) ;

extern double asin (double __x) ; extern double __asin (double __x) ;

extern double atan (double __x) ; extern double __atan (double __x) ;

extern double atan2 (double __y, double __x) ; extern double __atan2 (double __y, 
double __x) ;


extern double cos (double __x) ; extern double __cos (double __x) ;

extern double sin (double __x) ; extern double __sin (double __x) ;

extern double tan (double __x) ; extern double __tan (double __x) ;
# 78 "/usr/include/bits/mathcalls.h" 3
extern double cosh (double __x) ; extern double __cosh (double __x) ;

extern double sinh (double __x) ; extern double __sinh (double __x) ;

extern double tanh (double __x) ; extern double __tanh (double __x) ;



extern double acosh (double __x) ; extern double __acosh (double __x) ;

extern double asinh (double __x) ; extern double __asinh (double __x) ;

extern double atanh (double __x) ; extern double __atanh (double __x) ;





extern double exp (double __x) ; extern double __exp (double __x) ;
# 106 "/usr/include/bits/mathcalls.h" 3
extern double frexp (double __x, int *__exponent) ; extern double __frexp (double __x, 
int *__exponent) ;


extern double ldexp (double __x, int __exponent) ; extern double __ldexp (double __x, 
int __exponent) ;


extern double log (double __x) ; extern double __log (double __x) ;


extern double log10 (double __x) ; extern double __log10 (double __x) ;


extern double modf (double __x, double *__iptr) ; extern double __modf (double __x, 
double *__iptr) ;



extern double expm1 (double __x) ; extern double __expm1 (double __x) ;


extern double log1p (double __x) ; extern double __log1p (double __x) ;


extern double logb (double __x) ; extern double __logb (double __x) ;
# 143 "/usr/include/bits/mathcalls.h" 3
extern double pow (double __x, double __y) ; extern double __pow (double __x, double 
__y) ;


extern double sqrt (double __x) ; extern double __sqrt (double __x) ;



extern double hypot (double __x, double __y) ; extern double __hypot (double __x, 
double __y) ;




extern double cbrt (double __x) ; extern double __cbrt (double __x) ;






extern double ceil (double __x) ; extern double __ceil (double __x) ;


extern double fabs (double __x) __attribute__ ((__const__)); extern double __fabs 
(double __x) __attribute__ ((__const__));


extern double floor (double __x) ; extern double __floor (double __x) ;


extern double fmod (double __x, double __y) ; extern double __fmod (double __x, double 
__y) ;




extern int __isinf (double __value) __attribute__ ((__const__));


extern int __finite (double __value) __attribute__ ((__const__));




extern int isinf (double __value) __attribute__ ((__const__));


extern int finite (double __value) __attribute__ ((__const__));


extern double drem (double __x, double __y) ; extern double __drem (double __x, double 
__y) ;



extern double significand (double __x) ; extern double __significand (double __x) ;




extern double copysign (double __x, double __y) __attribute__ ((__const__)); extern 
double __copysign (double __x, double __y) __attribute__ ((__const__));
# 209 "/usr/include/bits/mathcalls.h" 3
extern int __isnan (double __value) __attribute__ ((__const__));



extern int isnan (double __value) __attribute__ ((__const__));


extern double j0 (double) ; extern double __j0 (double) ;
extern double j1 (double) ; extern double __j1 (double) ;
extern double jn (int, double) ; extern double __jn (int, double) ;
extern double y0 (double) ; extern double __y0 (double) ;
extern double y1 (double) ; extern double __y1 (double) ;
extern double yn (int, double) ; extern double __yn (int, double) ;





extern double erf (double) ; extern double __erf (double) ;
extern double erfc (double) ; extern double __erfc (double) ;
extern double lgamma (double) ; extern double __lgamma (double) ;
# 238 "/usr/include/bits/mathcalls.h" 3
extern double gamma (double) ; extern double __gamma (double) ;






extern double lgamma_r (double, int *__signgamp) ; extern double __lgamma_r (double, 
int *__signgamp) ;






extern double rint (double __x) ; extern double __rint (double __x) ;


extern double nextafter (double __x, double __y) __attribute__ ((__const__)); extern 
double __nextafter (double __x, double __y) __attribute__ ((__const__));





extern double remainder (double __x, double __y) ; extern double __remainder (double 
__x, double __y) ;



extern double scalb (double __x, double __n) ; extern double __scalb (double __x, 
double __n) ;




extern double scalbn (double __x, int __n) ; extern double __scalbn (double __x, int 
__n) ;



extern int ilogb (double __x) ; extern int __ilogb (double __x) ;
# 64 "/usr/include/math.h" 2 3
# 82 "/usr/include/math.h" 3
# 1 "/usr/include/bits/mathcalls.h" 1 3
# 54 "/usr/include/bits/mathcalls.h" 3
extern float acosf (float __x) ; extern float __acosf (float __x) ;

extern float asinf (float __x) ; extern float __asinf (float __x) ;

extern float atanf (float __x) ; extern float __atanf (float __x) ;

extern float atan2f (float __y, float __x) ; extern float __atan2f (float __y, float 
__x) ;


extern float cosf (float __x) ; extern float __cosf (float __x) ;

extern float sinf (float __x) ; extern float __sinf (float __x) ;

extern float tanf (float __x) ; extern float __tanf (float __x) ;
# 78 "/usr/include/bits/mathcalls.h" 3
extern float coshf (float __x) ; extern float __coshf (float __x) ;

extern float sinhf (float __x) ; extern float __sinhf (float __x) ;

extern float tanhf (float __x) ; extern float __tanhf (float __x) ;



extern float acoshf (float __x) ; extern float __acoshf (float __x) ;

extern float asinhf (float __x) ; extern float __asinhf (float __x) ;

extern float atanhf (float __x) ; extern float __atanhf (float __x) ;





extern float expf (float __x) ; extern float __expf (float __x) ;
# 106 "/usr/include/bits/mathcalls.h" 3
extern float frexpf (float __x, int *__exponent) ; extern float __frexpf (float __x, 
int *__exponent) ;


extern float ldexpf (float __x, int __exponent) ; extern float __ldexpf (float __x, 
int __exponent) ;


extern float logf (float __x) ; extern float __logf (float __x) ;


extern float log10f (float __x) ; extern float __log10f (float __x) ;


extern float modff (float __x, float *__iptr) ; extern float __modff (float __x, float 
*__iptr) ;



extern float expm1f (float __x) ; extern float __expm1f (float __x) ;


extern float log1pf (float __x) ; extern float __log1pf (float __x) ;


extern float logbf (float __x) ; extern float __logbf (float __x) ;
# 143 "/usr/include/bits/mathcalls.h" 3
extern float powf (float __x, float __y) ; extern float __powf (float __x, float __y) ;


extern float sqrtf (float __x) ; extern float __sqrtf (float __x) ;



extern float hypotf (float __x, float __y) ; extern float __hypotf (float __x, float 
__y) ;




extern float cbrtf (float __x) ; extern float __cbrtf (float __x) ;






extern float ceilf (float __x) ; extern float __ceilf (float __x) ;


extern float fabsf (float __x) __attribute__ ((__const__)); extern float __fabsf 
(float __x) __attribute__ ((__const__));


extern float floorf (float __x) ; extern float __floorf (float __x) ;


extern float fmodf (float __x, float __y) ; extern float __fmodf (float __x, float 
__y) ;




extern int __isinff (float __value) __attribute__ ((__const__));


extern int __finitef (float __value) __attribute__ ((__const__));




extern int isinff (float __value) __attribute__ ((__const__));


extern int finitef (float __value) __attribute__ ((__const__));


extern float dremf (float __x, float __y) ; extern float __dremf (float __x, float 
__y) ;



extern float significandf (float __x) ; extern float __significandf (float __x) ;




extern float copysignf (float __x, float __y) __attribute__ ((__const__)); extern 
float __copysignf (float __x, float __y) __attribute__ ((__const__));
# 209 "/usr/include/bits/mathcalls.h" 3
extern int __isnanf (float __value) __attribute__ ((__const__));



extern int isnanf (float __value) __attribute__ ((__const__));


extern float j0f (float) ; extern float __j0f (float) ;
extern float j1f (float) ; extern float __j1f (float) ;
extern float jnf (int, float) ; extern float __jnf (int, float) ;
extern float y0f (float) ; extern float __y0f (float) ;
extern float y1f (float) ; extern float __y1f (float) ;
extern float ynf (int, float) ; extern float __ynf (int, float) ;





extern float erff (float) ; extern float __erff (float) ;
extern float erfcf (float) ; extern float __erfcf (float) ;
extern float lgammaf (float) ; extern float __lgammaf (float) ;
# 238 "/usr/include/bits/mathcalls.h" 3
extern float gammaf (float) ; extern float __gammaf (float) ;






extern float lgammaf_r (float, int *__signgamp) ; extern float __lgammaf_r (float, int 
*__signgamp) ;






extern float rintf (float __x) ; extern float __rintf (float __x) ;


extern float nextafterf (float __x, float __y) __attribute__ ((__const__)); extern 
float __nextafterf (float __x, float __y) __attribute__ ((__const__));





extern float remainderf (float __x, float __y) ; extern float __remainderf (float __x, 
float __y) ;



extern float scalbf (float __x, float __n) ; extern float __scalbf (float __x, float 
__n) ;




extern float scalbnf (float __x, int __n) ; extern float __scalbnf (float __x, int 
__n) ;



extern int ilogbf (float __x) ; extern int __ilogbf (float __x) ;
# 83 "/usr/include/math.h" 2 3
# 99 "/usr/include/math.h" 3
# 1 "/usr/include/bits/mathcalls.h" 1 3
# 54 "/usr/include/bits/mathcalls.h" 3
extern long double acosl (long double __x) ; extern long double __acosl (long double 
__x) ;

extern long double asinl (long double __x) ; extern long double __asinl (long double 
__x) ;

extern long double atanl (long double __x) ; extern long double __atanl (long double 
__x) ;

extern long double atan2l (long double __y, long double __x) ; extern long double 
__atan2l (long double __y, long double __x) ;


extern long double cosl (long double __x) ; extern long double __cosl (long double 
__x) ;

extern long double sinl (long double __x) ; extern long double __sinl (long double 
__x) ;

extern long double tanl (long double __x) ; extern long double __tanl (long double 
__x) ;
# 78 "/usr/include/bits/mathcalls.h" 3
extern long double coshl (long double __x) ; extern long double __coshl (long double 
__x) ;

extern long double sinhl (long double __x) ; extern long double __sinhl (long double 
__x) ;

extern long double tanhl (long double __x) ; extern long double __tanhl (long double 
__x) ;



extern long double acoshl (long double __x) ; extern long double __acoshl (long double 
__x) ;

extern long double asinhl (long double __x) ; extern long double __asinhl (long double 
__x) ;

extern long double atanhl (long double __x) ; extern long double __atanhl (long double 
__x) ;





extern long double expl (long double __x) ; extern long double __expl (long double 
__x) ;
# 106 "/usr/include/bits/mathcalls.h" 3
extern long double frexpl (long double __x, int *__exponent) ; extern long double 
__frexpl (long double __x, int *__exponent) ;


extern long double ldexpl (long double __x, int __exponent) ; extern long double 
__ldexpl (long double __x, int __exponent) ;


extern long double logl (long double __x) ; extern long double __logl (long double 
__x) ;


extern long double log10l (long double __x) ; extern long double __log10l (long double 
__x) ;


extern long double modfl (long double __x, long double *__iptr) ; extern long double 
__modfl (long double __x, long double *__iptr) ;



extern long double expm1l (long double __x) ; extern long double __expm1l (long double 
__x) ;


extern long double log1pl (long double __x) ; extern long double __log1pl (long double 
__x) ;


extern long double logbl (long double __x) ; extern long double __logbl (long double 
__x) ;
# 143 "/usr/include/bits/mathcalls.h" 3
extern long double powl (long double __x, long double __y) ; extern long double __powl 
(long double __x, long double __y) ;


extern long double sqrtl (long double __x) ; extern long double __sqrtl (long double 
__x) ;



extern long double hypotl (long double __x, long double __y) ; extern long double 
__hypotl (long double __x, long double __y) ;




extern long double cbrtl (long double __x) ; extern long double __cbrtl (long double 
__x) ;






extern long double ceill (long double __x) ; extern long double __ceill (long double 
__x) ;


extern long double fabsl (long double __x) __attribute__ ((__const__)); extern long 
double __fabsl (long double __x) __attribute__ ((__const__));


extern long double floorl (long double __x) ; extern long double __floorl (long double 
__x) ;


extern long double fmodl (long double __x, long double __y) ; extern long double 
__fmodl (long double __x, long double __y) ;




extern int __isinfl (long double __value) __attribute__ ((__const__));


extern int __finitel (long double __value) __attribute__ ((__const__));




extern int isinfl (long double __value) __attribute__ ((__const__));


extern int finitel (long double __value) __attribute__ ((__const__));


extern long double dreml (long double __x, long double __y) ; extern long double 
__dreml (long double __x, long double __y) ;



extern long double significandl (long double __x) ; extern long double __significandl 
(long double __x) ;




extern long double copysignl (long double __x, long double __y) __attribute__ 
((__const__)); extern long double __copysignl (long double __x, long double __y) 
__attribute__ ((__const__));
# 209 "/usr/include/bits/mathcalls.h" 3
extern int __isnanl (long double __value) __attribute__ ((__const__));



extern int isnanl (long double __value) __attribute__ ((__const__));


extern long double j0l (long double) ; extern long double __j0l (long double) ;
extern long double j1l (long double) ; extern long double __j1l (long double) ;
extern long double jnl (int, long double) ; extern long double __jnl (int, long 
double) ;
extern long double y0l (long double) ; extern long double __y0l (long double) ;
extern long double y1l (long double) ; extern long double __y1l (long double) ;
extern long double ynl (int, long double) ; extern long double __ynl (int, long 
double) ;





extern long double erfl (long double) ; extern long double __erfl (long double) ;
extern long double erfcl (long double) ; extern long double __erfcl (long double) ;
extern long double lgammal (long double) ; extern long double __lgammal (long double) ;
# 238 "/usr/include/bits/mathcalls.h" 3
extern long double gammal (long double) ; extern long double __gammal (long double) ;






extern long double lgammal_r (long double, int *__signgamp) ; extern long double 
__lgammal_r (long double, int *__signgamp) ;






extern long double rintl (long double __x) ; extern long double __rintl (long double 
__x) ;


extern long double nextafterl (long double __x, long double __y) __attribute__ 
((__const__)); extern long double __nextafterl (long double __x, long double __y) 
__attribute__ ((__const__));





extern long double remainderl (long double __x, long double __y) ; extern long double 
__remainderl (long double __x, long double __y) ;



extern long double scalbl (long double __x, long double __n) ; extern long double 
__scalbl (long double __x, long double __n) ;




extern long double scalbnl (long double __x, int __n) ; extern long double __scalbnl 
(long double __x, int __n) ;



extern int ilogbl (long double __x) ; extern int __ilogbl (long double __x) ;
# 100 "/usr/include/math.h" 2 3
# 113 "/usr/include/math.h" 3
extern int signgam;
# 240 "/usr/include/math.h" 3
typedef enum
{
  _IEEE_ = -1,
  _SVID_,
  _XOPEN_,
  _POSIX_,
  _ISOC_
} _LIB_VERSION_TYPE;




extern _LIB_VERSION_TYPE _LIB_VERSION;
# 265 "/usr/include/math.h" 3
struct exception

  {
    int type;
    char *name;
    double arg1;
    double arg2;
    double retval;
  };




extern int matherr (struct exception *__exc);
# 350 "/usr/include/math.h" 3
# 1 "/usr/include/bits/mathinline.h" 1 3
# 291 "/usr/include/bits/mathinline.h" 3
extern __inline double __sgn (double) ; extern __inline double __sgn (double __x) { 
return __x == 0.0 ? 0.0 : (__x > 0.0 ? 1.0 : -1.0); } extern __inline float __sgnf 
(float) ; extern __inline float __sgnf (float __x) { return __x == 0.0 ? 0.0 : (__x > 
0.0 ? 1.0 : -1.0); } extern __inline long double __sgnl (long double) ; extern 
__inline long double __sgnl (long double __x) { return __x == 0.0 ? 0.0 : (__x > 0.0 ? 
1.0 : -1.0); }
# 426 "/usr/include/bits/mathinline.h" 3
extern __inline double atan2 (double __y, double __x) { register long double __value; 
__asm __volatile__ ("fpatan" : "=t" (__value) : "0" (__x), "u" (__y) : "st(1)"); 
return __value; } extern __inline float atan2f (float __y, float __x) { register long 
double __value; __asm __volatile__ ("fpatan" : "=t" (__value) : "0" (__x), "u" (__y) : 
"st(1)"); return __value; } extern __inline long double atan2l (long double __y, long 
double __x) { register long double __value; __asm __volatile__ ("fpatan" : "=t" 
(__value) : "0" (__x), "u" (__y) : "st(1)"); return __value; }
extern __inline long double __atan2l (long double __y, long double __x) { register 
long double __value; __asm __volatile__ ("fpatan" : "=t" (__value) : "0" (__x), "u" 
(__y) : "st(1)"); return __value; }


extern __inline double fmod (double __x, double __y) { register long double __value; 
__asm __volatile__ ("1:    fprem\n\t" "fnstsw      %%ax\n\t" "sahf\n\t" "jp        1b" 
: "=t" (__value) : "0" (__x), "u" (__y) : "ax", "cc"); return __value; } extern 
__inline float fmodf (float __x, float __y) { register long double __value; __asm 
__volatile__ ("1: fprem\n\t" "fnstsw      %%ax\n\t" "sahf\n\t" "jp        1b" : "=t" 
(__value) : "0" (__x), "u" (__y) : "ax", "cc"); return __value; } extern __inline long 
double fmodl (long double __x, long double __y) { register long double __value; __asm 
__volatile__ ("1:       fprem\n\t" "fnstsw      %%ax\n\t" "sahf\n\t" "jp        1b" : 
"=t" (__value) : "0" (__x), "u" (__y) : "ax", "cc"); return __value; }
# 441 "/usr/include/bits/mathinline.h" 3
extern __inline double sqrt (double __x) { register double __result; __asm 
__volatile__ ("fsqrt" : "=t" (__result) : "0" (__x)); return __result; } extern 
__inline float sqrtf (float __x) { register float __result; __asm __volatile__ 
("fsqrt" : "=t" (__result) : "0" (__x)); return __result; } extern __inline long 
double sqrtl (long double __x) { register long double __result; __asm __volatile__ 
("fsqrt" : "=t" (__result) : "0" (__x)); return __result; }
extern __inline long double __sqrtl (long double __x) { register long double __result; 
__asm __volatile__ ("fsqrt" : "=t" (__result) : "0" (__x)); return __result; }


extern __inline double fabs (double __x) { return __builtin_fabs (__x); }
extern __inline float fabsf (float __x) { return __builtin_fabsf (__x); }
extern __inline long double fabsl (long double __x) { return __builtin_fabsl (__x); }
extern __inline long double __fabsl (long double __x) { return __builtin_fabsl (__x); }
# 467 "/usr/include/bits/mathinline.h" 3
extern __inline double atan (double __x) { register double __result; __asm 
__volatile__ ("fld1; fpatan" : "=t" (__result) : "0" (__x) : "st(1)"); return 
__result; } extern __inline float atanf (float __x) { register float __result; __asm 
__volatile__ ("fld1; fpatan" : "=t" (__result) : "0" (__x) : "st(1)"); return 
__result; } extern __inline long double atanl (long double __x) { register long double 
__result; __asm __volatile__ ("fld1; fpatan" : "=t" (__result) : "0" (__x) : "st(1)"); 
return __result; }

extern __inline long double __sgn1l (long double) ; extern __inline long double 
__sgn1l (long double __x) { __extension__ union { long double __xld; unsigned int 
__xi[3]; } __n = { __xld: __x }; __n.__xi[2] = (__n.__xi[2] & 0x8000) | 0x3fff; 
__n.__xi[1] = 0x80000000; __n.__xi[0] = 0; return __n.__xld; }
# 493 "/usr/include/bits/mathinline.h" 3
extern __inline double floor (double __x) { register long double __value; __volatile 
unsigned short int __cw; __volatile unsigned short int __cwtmp; __asm __volatile 
("fnstcw %0" : "=m" (__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0400; __asm __volatile 
("fldcw %0" : : "m" (__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" 
(__x)); __asm __volatile ("fldcw %0" : : "m" (__cw)); return __value; } extern 
__inline float floorf (float __x) { register long double __value; __volatile unsigned 
short int __cw; __volatile unsigned short int __cwtmp; __asm __volatile ("fnstcw %0" : 
"=m" (__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0400; __asm __volatile ("fldcw %0" : : "m" 
(__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); __asm 
__volatile ("fldcw %0" : : "m" (__cw)); return __value; } extern __inline long double 
floorl (long double __x) { register long double __value; __volatile unsigned short int 
__cw; __volatile unsigned short int __cwtmp; __asm __volatile ("fnstcw %0" : "=m" 
(__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0400; __asm __volatile ("fldcw %0" : : "m" 
(__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); __asm 
__volatile ("fldcw %0" : : "m" (__cw)); return __value; }
# 504 "/usr/include/bits/mathinline.h" 3
extern __inline double ceil (double __x) { register long double __value; __volatile 
unsigned short int __cw; __volatile unsigned short int __cwtmp; __asm __volatile 
("fnstcw %0" : "=m" (__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0800; __asm __volatile 
("fldcw %0" : : "m" (__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" 
(__x)); __asm __volatile ("fldcw %0" : : "m" (__cw)); return __value; } extern 
__inline float ceilf (float __x) { register long double __value; __volatile unsigned 
short int __cw; __volatile unsigned short int __cwtmp; __asm __volatile ("fnstcw %0" : 
"=m" (__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0800; __asm __volatile ("fldcw %0" : : "m" 
(__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); __asm 
__volatile ("fldcw %0" : : "m" (__cw)); return __value; } extern __inline long double 
ceill (long double __x) { register long double __value; __volatile unsigned short int 
__cw; __volatile unsigned short int __cwtmp; __asm __volatile ("fnstcw %0" : "=m" 
(__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0800; __asm __volatile ("fldcw %0" : : "m" 
(__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); __asm 
__volatile ("fldcw %0" : : "m" (__cw)); return __value; }
# 522 "/usr/include/bits/mathinline.h" 3
extern __inline double
ldexp (double __x, int __y)
{
  register long double __value; __asm __volatile__ ("fscale" : "=t" (__value) : "0" 
(__x), "u" ((long double) __y)); return __value;
}
# 540 "/usr/include/bits/mathinline.h" 3
extern __inline double log1p (double __x) { register long double __value; if (__fabsl 
(__x) >= 1.0 - 0.5 * 1.41421356237309504880L) __value = logl (1.0 + __x); else __asm 
__volatile__ ("fldln2\n\t" "fxch\n\t" "fyl2xp1" : "=t" (__value) : "0" (__x) : 
"st(1)"); return __value; } extern __inline float log1pf (float __x) { register long 
double __value; if (__fabsl (__x) >= 1.0 - 0.5 * 1.41421356237309504880L) __value = 
logl (1.0 + __x); else __asm __volatile__ ("fldln2\n\t" "fxch\n\t" "fyl2xp1" : "=t" 
(__value) : "0" (__x) : "st(1)"); return __value; } extern __inline long double log1pl 
(long double __x) { register long double __value; if (__fabsl (__x) >= 1.0 - 0.5 * 
1.41421356237309504880L) __value = logl (1.0 + __x); else __asm __volatile__ 
("fldln2\n\t" "fxch\n\t" "fyl2xp1" : "=t" (__value) : "0" (__x) : "st(1)"); return 
__value; }
# 554 "/usr/include/bits/mathinline.h" 3
extern __inline double asinh (double __x) { register long double __y = __fabsl (__x); 
return (log1pl (__y * __y / (__sqrtl (__y * __y + 1.0) + 1.0) + __y) * __sgn1l (__x)); 
} extern __inline float asinhf (float __x) { register long double __y = __fabsl (__x); 
return (log1pl (__y * __y / (__sqrtl (__y * __y + 1.0) + 1.0) + __y) * __sgn1l (__x)); 
} extern __inline long double asinhl (long double __x) { register long double __y = 
__fabsl (__x); return (log1pl (__y * __y / (__sqrtl (__y * __y + 1.0) + 1.0) + __y) * 
__sgn1l (__x)); }




extern __inline double acosh (double __x) { return logl (__x + __sqrtl (__x - 1.0) * 
__sqrtl (__x + 1.0)); } extern __inline float acoshf (float __x) { return logl (__x + 
__sqrtl (__x - 1.0) * __sqrtl (__x + 1.0)); } extern __inline long double acoshl (long 
double __x) { return logl (__x + __sqrtl (__x - 1.0) * __sqrtl (__x + 1.0)); }


extern __inline double atanh (double __x) { register long double __y = __fabsl (__x); 
return -0.5 * log1pl (-(__y + __y) / (1.0 + __y)) * __sgn1l (__x); } extern __inline 
float atanhf (float __x) { register long double __y = __fabsl (__x); return -0.5 * 
log1pl (-(__y + __y) / (1.0 + __y)) * __sgn1l (__x); } extern __inline long double 
atanhl (long double __x) { register long double __y = __fabsl (__x); return -0.5 * 
log1pl (-(__y + __y) / (1.0 + __y)) * __sgn1l (__x); }




extern __inline double hypot (double __x, double __y) { return __sqrtl (__x * __x + 
__y * __y); } extern __inline float hypotf (float __x, float __y) { return __sqrtl 
(__x * __x + __y * __y); } extern __inline long double hypotl (long double __x, long 
double __y) { return __sqrtl (__x * __x + __y * __y); }

extern __inline double logb (double __x) { register long double __value; register long 
double __junk; __asm __volatile__ ("fxtract\n\t" : "=t" (__junk), "=u" (__value) : "0" 
(__x)); return __value; } extern __inline float logbf (float __x) { register long 
double __value; register long double __junk; __asm __volatile__ ("fxtract\n\t" : "=t" 
(__junk), "=u" (__value) : "0" (__x)); return __value; } extern __inline long double 
logbl (long double __x) { register long double __value; register long double __junk; 
__asm __volatile__ ("fxtract\n\t" : "=t" (__junk), "=u" (__value) : "0" (__x)); return 
__value; }
# 653 "/usr/include/bits/mathinline.h" 3
extern __inline double drem (double __x, double __y) { register double __value; 
register int __clobbered; __asm __volatile__ ("1:       fprem1\n\t" "fstsw      
%%ax\n\t" "sahf\n\t" "jp        1b" : "=t" (__value), "=&a" (__clobbered) : "0" (__x), 
"u" (__y) : "cc"); return __value; } extern __inline float dremf (float __x, float 
__y) { register double __value; register int __clobbered; __asm __volatile__ ("1:     
fprem1\n\t" "fstsw      %%ax\n\t" "sahf\n\t" "jp        1b" : "=t" (__value), "=&a" 
(__clobbered) : "0" (__x), "u" (__y) : "cc"); return __value; } extern __inline long 
double dreml (long double __x, long double __y) { register double __value; register 
int __clobbered; __asm __volatile__ ("1:   fprem1\n\t" "fstsw      %%ax\n\t" 
"sahf\n\t" "jp        1b" : "=t" (__value), "=&a" (__clobbered) : "0" (__x), "u" (__y) 
: "cc"); return __value; }
# 666 "/usr/include/bits/mathinline.h" 3
extern __inline int
__finite (double __x)
{
  return (__extension__
          (((((union { double __d; int __i[2]; }) {__d: __x}).__i[1]
             | 0x800fffffu) + 1) >> 31));
}
# 351 "/usr/include/math.h" 2 3
# 29 "../kpathsea/c-std.h" 2

# 1 "/usr/include/stdio.h" 1 3
# 28 "/usr/include/stdio.h" 3
# 1 "/usr/include/features.h" 1 3
# 29 "/usr/include/stdio.h" 2 3





# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stddef.h" 1 3
# 199 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stddef.h" 3
typedef unsigned int size_t;
# 35 "/usr/include/stdio.h" 2 3

# 1 "/usr/include/bits/types.h" 1 3
# 26 "/usr/include/bits/types.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/bits/types.h" 2 3


# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stddef.h" 1 3
# 30 "/usr/include/bits/types.h" 2 3


typedef unsigned char __u_char;
typedef unsigned short __u_short;
typedef unsigned int __u_int;
typedef unsigned long __u_long;

__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef long long int __quad_t;
# 49 "/usr/include/bits/types.h" 3
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;

__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;

typedef __quad_t *__qaddr_t;

typedef __u_quad_t __dev_t;
typedef __u_int __uid_t;
typedef __u_int __gid_t;
typedef __u_long __ino_t;
typedef __u_int __mode_t;
typedef __u_int __nlink_t;
typedef long int __off_t;
typedef __quad_t __loff_t;
typedef int __pid_t;
typedef int __ssize_t;
typedef __u_long __rlim_t;
typedef __u_quad_t __rlim64_t;
typedef __u_int __id_t;

typedef struct
  {
    int __val[2];
  } __fsid_t;


typedef int __daddr_t;
typedef char *__caddr_t;
typedef long int __time_t;
typedef unsigned int __useconds_t;
typedef long int __suseconds_t;
typedef long int __swblk_t;

typedef long int __clock_t;


typedef int __clockid_t;


typedef int __timer_t;






typedef int __key_t;


typedef unsigned short int __ipc_pid_t;



typedef long int __blksize_t;




typedef long int __blkcnt_t;
typedef __quad_t __blkcnt64_t;


typedef __u_long __fsblkcnt_t;
typedef __u_quad_t __fsblkcnt64_t;


typedef __u_long __fsfilcnt_t;
typedef __u_quad_t __fsfilcnt64_t;


typedef __u_quad_t __ino64_t;


typedef __loff_t __off64_t;


typedef long int __t_scalar_t;
typedef unsigned long int __t_uscalar_t;


typedef int __intptr_t;


typedef unsigned int __socklen_t;




# 1 "/usr/include/bits/pthreadtypes.h" 1 3
# 23 "/usr/include/bits/pthreadtypes.h" 3
# 1 "/usr/include/bits/sched.h" 1 3
# 68 "/usr/include/bits/sched.h" 3
struct __sched_param
  {
    int __sched_priority;
  };
# 24 "/usr/include/bits/pthreadtypes.h" 2 3


struct _pthread_fastlock
{
  long int __status;
  int __spinlock;

};



typedef struct _pthread_descr_struct *_pthread_descr;





typedef struct __pthread_attr_s
{
  int __detachstate;
  int __schedpolicy;
  struct __sched_param __schedparam;
  int __inheritsched;
  int __scope;
  size_t __guardsize;
  int __stackaddr_set;
  void *__stackaddr;
  size_t __stacksize;
} pthread_attr_t;



typedef struct
{
  struct _pthread_fastlock __c_lock;
  _pthread_descr __c_waiting;
} pthread_cond_t;



typedef struct
{
  int __dummy;
} pthread_condattr_t;


typedef unsigned int pthread_key_t;





typedef struct
{
  int __m_reserved;
  int __m_count;
  _pthread_descr __m_owner;
  int __m_kind;
  struct _pthread_fastlock __m_lock;
} pthread_mutex_t;



typedef struct
{
  int __mutexkind;
} pthread_mutexattr_t;



typedef int pthread_once_t;
# 140 "/usr/include/bits/pthreadtypes.h" 3
typedef unsigned long int pthread_t;
# 144 "/usr/include/bits/types.h" 2 3
# 37 "/usr/include/stdio.h" 2 3
# 45 "/usr/include/stdio.h" 3
typedef struct _IO_FILE FILE;
# 55 "/usr/include/stdio.h" 3
typedef struct _IO_FILE __FILE;
# 65 "/usr/include/stdio.h" 3
# 1 "/usr/include/libio.h" 1 3
# 32 "/usr/include/libio.h" 3
# 1 "/usr/include/_G_config.h" 1 3
# 9 "/usr/include/_G_config.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 10 "/usr/include/_G_config.h" 2 3




# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stddef.h" 1 3
# 287 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stddef.h" 3
typedef long int wchar_t;
# 312 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stddef.h" 3
typedef unsigned int wint_t;
# 15 "/usr/include/_G_config.h" 2 3
# 24 "/usr/include/_G_config.h" 3
# 1 "/usr/include/wchar.h" 1 3
# 48 "/usr/include/wchar.h" 3
# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stddef.h" 1 3
# 49 "/usr/include/wchar.h" 2 3

# 1 "/usr/include/bits/wchar.h" 1 3
# 51 "/usr/include/wchar.h" 2 3
# 67 "/usr/include/wchar.h" 3
typedef struct
{
  int __count;
  union
  {
    wint_t __wch;
    char __wchb[4];
  } __value;
} __mbstate_t;
# 25 "/usr/include/_G_config.h" 2 3

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
# 1 "/usr/include/gconv.h" 1 3
# 26 "/usr/include/gconv.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/gconv.h" 2 3

# 1 "/usr/include/wchar.h" 1 3
# 48 "/usr/include/wchar.h" 3
# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stddef.h" 1 3
# 49 "/usr/include/wchar.h" 2 3

# 1 "/usr/include/bits/wchar.h" 1 3
# 51 "/usr/include/wchar.h" 2 3
# 29 "/usr/include/gconv.h" 2 3


# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stddef.h" 1 3
# 32 "/usr/include/gconv.h" 2 3





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 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_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 [0];
} *__gconv_t;
# 45 "/usr/include/_G_config.h" 2 3
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
# 53 "/usr/include/libio.h" 3
# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stdarg.h" 1 3
# 43 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stdarg.h" 3
typedef __builtin_va_list __gnuc_va_list;
# 54 "/usr/include/libio.h" 2 3
# 160 "/usr/include/libio.h" 3
struct _IO_jump_t; struct _IO_FILE;
# 170 "/usr/include/libio.h" 3
typedef void _IO_lock_t;





struct _IO_marker {
  struct _IO_marker *_next;
  struct _IO_FILE *_sbuf;



  int _pos;
# 193 "/usr/include/libio.h" 3
};


enum __codecvt_result
{
  __codecvt_ok,
  __codecvt_partial,
  __codecvt_error,
  __codecvt_noconv
};
# 261 "/usr/include/libio.h" 3
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 _blksize;
  __off_t _old_offset;



  unsigned short _cur_column;
  signed char _vtable_offset;
  char _shortbuf[1];



  _IO_lock_t *_lock;
# 305 "/usr/include/libio.h" 3
  __off64_t _offset;





  void *__pad1;
  void *__pad2;

  int _mode;

  char _unused2[15 * sizeof (int) - 2 * sizeof (void *)];

};


typedef struct _IO_FILE _IO_FILE;


struct _IO_FILE_plus;

extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;
# 344 "/usr/include/libio.h" 3
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);
# 396 "/usr/include/libio.h" 3
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) ;
# 426 "/usr/include/libio.h" 3
extern int _IO_getc (_IO_FILE *__fp) ;
extern int _IO_putc (int __c, _IO_FILE *__fp) ;
extern int _IO_feof (_IO_FILE *__fp) ;
extern int _IO_ferror (_IO_FILE *__fp) ;

extern int _IO_peekc_locked (_IO_FILE *__fp) ;





extern void _IO_flockfile (_IO_FILE *) ;
extern void _IO_funlockfile (_IO_FILE *) ;
extern int _IO_ftrylockfile (_IO_FILE *) ;
# 456 "/usr/include/libio.h" 3
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 *) ;
# 66 "/usr/include/stdio.h" 2 3
# 80 "/usr/include/stdio.h" 3
typedef _G_fpos_t fpos_t;
# 129 "/usr/include/stdio.h" 3
# 1 "/usr/include/bits/stdio_lim.h" 1 3
# 130 "/usr/include/stdio.h" 2 3



extern FILE *stdin;
extern FILE *stdout;
extern FILE *stderr;
# 144 "/usr/include/stdio.h" 3
extern int remove (__const char *__filename) ;

extern int rename (__const char *__old, __const char *__new) ;




extern FILE *tmpfile (void) ;
# 163 "/usr/include/stdio.h" 3
extern char *tmpnam (char *__s) ;




extern char *tmpnam_r (char *__s) ;
# 180 "/usr/include/stdio.h" 3
extern char *tempnam (__const char *__dir, __const char *__pfx)
             __attribute__ ((__malloc__));




extern int fclose (FILE *__stream) ;

extern int fflush (FILE *__stream) ;



extern int fflush_unlocked (FILE *__stream) ;
# 203 "/usr/include/stdio.h" 3
extern FILE *fopen (__const char *__restrict __filename,
                    __const char *__restrict __modes) ;

extern FILE *freopen (__const char *__restrict __filename,
                      __const char *__restrict __modes,
                      FILE *__restrict __stream) ;
# 233 "/usr/include/stdio.h" 3
extern FILE *fdopen (int __fd, __const char *__modes) ;
# 256 "/usr/include/stdio.h" 3
extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ;



extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
                    int __modes, size_t __n) ;




extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
                       size_t __size) ;


extern void setlinebuf (FILE *__stream) ;




extern int fprintf (FILE *__restrict __stream,
                    __const char *__restrict __format, ...) ;

extern int printf (__const char *__restrict __format, ...) ;

extern int sprintf (char *__restrict __s,
                    __const char *__restrict __format, ...) ;


extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
                     __gnuc_va_list __arg) ;

extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg)
            ;

extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
                     __gnuc_va_list __arg) ;



extern int snprintf (char *__restrict __s, size_t __maxlen,
                     __const char *__restrict __format, ...)
             __attribute__ ((__format__ (__printf__, 3, 4)));

extern int vsnprintf (char *__restrict __s, size_t __maxlen,
                      __const char *__restrict __format, __gnuc_va_list __arg)
             __attribute__ ((__format__ (__printf__, 3, 0)));
# 327 "/usr/include/stdio.h" 3
extern int fscanf (FILE *__restrict __stream,
                   __const char *__restrict __format, ...) ;

extern int scanf (__const char *__restrict __format, ...) ;

extern int sscanf (__const char *__restrict __s,
                   __const char *__restrict __format, ...) ;
# 353 "/usr/include/stdio.h" 3
extern int fgetc (FILE *__stream) ;
extern int getc (FILE *__stream) ;


extern int getchar (void) ;







extern int getc_unlocked (FILE *__stream) ;
extern int getchar_unlocked (void) ;




extern int fgetc_unlocked (FILE *__stream) ;




extern int fputc (int __c, FILE *__stream) ;
extern int putc (int __c, FILE *__stream) ;


extern int putchar (int __c) ;







extern int 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)
            ;
# 419 "/usr/include/stdio.h" 3
extern char *gets (char *__s) ;
# 443 "/usr/include/stdio.h" 3
extern int fputs (__const char *__restrict __s, FILE *__restrict __stream)
            ;
# 453 "/usr/include/stdio.h" 3
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) ;



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) ;
# 497 "/usr/include/stdio.h" 3
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos)
            ;

extern int fsetpos (FILE *__stream, __const fpos_t *__pos) ;
# 533 "/usr/include/stdio.h" 3
extern void clearerr (FILE *__stream) ;

extern int feof (FILE *__stream) ;

extern int ferror (FILE *__stream) ;



extern void clearerr_unlocked (FILE *__stream) ;
extern int feof_unlocked (FILE *__stream) ;
extern int ferror_unlocked (FILE *__stream) ;




extern void perror (__const char *__s) ;




extern int sys_nerr;
extern __const char *__const sys_errlist[];
# 564 "/usr/include/stdio.h" 3
extern int fileno (FILE *__stream) ;




extern int fileno_unlocked (FILE *__stream) ;






extern FILE *popen (__const char *__command, __const char *__modes) ;


extern int pclose (FILE *__stream) ;





extern char *ctermid (char *__s) ;
# 611 "/usr/include/stdio.h" 3
extern void flockfile (FILE *__stream) ;



extern int ftrylockfile (FILE *__stream) ;


extern void funlockfile (FILE *__stream) ;
# 632 "/usr/include/stdio.h" 3
# 1 "/usr/include/bits/stdio.h" 1 3
# 33 "/usr/include/bits/stdio.h" 3
extern __inline int
vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg)
{
  return vfprintf (stdout, __fmt, __arg);
}


extern __inline int
getchar (void)
{
  return _IO_getc (stdin);
}




extern __inline int
getc_unlocked (FILE *__fp)
{
  return ((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end ? __uflow (__fp) : *(unsigned 
char *) (__fp)->_IO_read_ptr++);
}


extern __inline int
getchar_unlocked (void)
{
  return ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end ? __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 (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow 
(__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = 
(__c)));
}





extern __inline int
putc_unlocked (int __c, FILE *__stream)
{
  return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow 
(__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = 
(__c)));
}


extern __inline int
putchar_unlocked (int __c)
{
  return (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end) ? __overflow (stdout, 
(unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
}
# 111 "/usr/include/bits/stdio.h" 3
extern __inline int
feof_unlocked (FILE *__stream)
{
  return (((__stream)->_flags & 0x10) != 0);
}


extern __inline int
ferror_unlocked (FILE *__stream)
{
  return (((__stream)->_flags & 0x20) != 0);
}
# 633 "/usr/include/stdio.h" 2 3
# 31 "../kpathsea/c-std.h" 2


# 1 "../kpathsea/c-unistd.h" 1
# 24 "../kpathsea/c-unistd.h"
# 1 "../kpathsea/systypes.h" 1
# 24 "../kpathsea/systypes.h"
# 1 "/usr/include/sys/types.h" 1 3
# 26 "/usr/include/sys/types.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/sys/types.h" 2 3



# 1 "/usr/include/bits/types.h" 1 3
# 31 "/usr/include/sys/types.h" 2 3



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;
# 61 "/usr/include/sys/types.h" 3
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;
# 99 "/usr/include/sys/types.h" 3
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;
# 132 "/usr/include/sys/types.h" 3
# 1 "/usr/include/time.h" 1 3
# 67 "/usr/include/time.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 68 "/usr/include/time.h" 2 3


typedef __time_t time_t;
# 79 "/usr/include/time.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 80 "/usr/include/time.h" 2 3


typedef __clockid_t clockid_t;
# 91 "/usr/include/time.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 92 "/usr/include/time.h" 2 3


typedef __timer_t timer_t;
# 133 "/usr/include/sys/types.h" 2 3
# 146 "/usr/include/sys/types.h" 3
# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stddef.h" 1 3
# 147 "/usr/include/sys/types.h" 2 3



typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 190 "/usr/include/sys/types.h" 3
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__)));
# 212 "/usr/include/sys/types.h" 3
# 1 "/usr/include/endian.h" 1 3
# 22 "/usr/include/endian.h" 3
# 1 "/usr/include/features.h" 1 3
# 23 "/usr/include/endian.h" 2 3
# 37 "/usr/include/endian.h" 3
# 1 "/usr/include/bits/endian.h" 1 3
# 38 "/usr/include/endian.h" 2 3
# 213 "/usr/include/sys/types.h" 2 3


# 1 "/usr/include/sys/select.h" 1 3
# 25 "/usr/include/sys/select.h" 3
# 1 "/usr/include/features.h" 1 3
# 26 "/usr/include/sys/select.h" 2 3


# 1 "/usr/include/bits/types.h" 1 3
# 29 "/usr/include/sys/select.h" 2 3


# 1 "/usr/include/bits/select.h" 1 3
# 32 "/usr/include/sys/select.h" 2 3


# 1 "/usr/include/bits/sigset.h" 1 3
# 23 "/usr/include/bits/sigset.h" 3
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



typedef __sigset_t sigset_t;





# 1 "/usr/include/time.h" 1 3
# 106 "/usr/include/time.h" 3
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
# 45 "/usr/include/sys/select.h" 2 3

# 1 "/usr/include/bits/time.h" 1 3
# 63 "/usr/include/bits/time.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 64 "/usr/include/bits/time.h" 2 3



struct timeval
  {
    __time_t tv_sec;
    __suseconds_t tv_usec;
  };
# 47 "/usr/include/sys/select.h" 2 3


typedef __suseconds_t suseconds_t;





typedef long int __fd_mask;







typedef struct
  {






    __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))];


  } fd_set;






typedef __fd_mask fd_mask;
# 102 "/usr/include/sys/select.h" 3
extern int select (int __nfds, fd_set *__restrict __readfds,
                   fd_set *__restrict __writefds,
                   fd_set *__restrict __exceptfds,
                   struct timeval *__restrict __timeout) ;
# 216 "/usr/include/sys/types.h" 2 3


# 1 "/usr/include/sys/sysmacros.h" 1 3
# 219 "/usr/include/sys/types.h" 2 3
# 230 "/usr/include/sys/types.h" 3
typedef __blkcnt_t blkcnt_t;



typedef __fsblkcnt_t fsblkcnt_t;



typedef __fsfilcnt_t fsfilcnt_t;
# 25 "../kpathsea/systypes.h" 2
# 25 "../kpathsea/c-unistd.h" 2


# 1 "/usr/include/unistd.h" 1 3
# 26 "/usr/include/unistd.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/unistd.h" 2 3
# 175 "/usr/include/unistd.h" 3
# 1 "/usr/include/bits/posix_opt.h" 1 3
# 176 "/usr/include/unistd.h" 2 3
# 190 "/usr/include/unistd.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 191 "/usr/include/unistd.h" 2 3
# 199 "/usr/include/unistd.h" 3
# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stddef.h" 1 3
# 200 "/usr/include/unistd.h" 2 3
# 240 "/usr/include/unistd.h" 3
typedef __intptr_t intptr_t;






typedef __socklen_t socklen_t;
# 260 "/usr/include/unistd.h" 3
extern int access (__const char *__name, int __type) ;
# 290 "/usr/include/unistd.h" 3
extern __off_t lseek (int __fd, __off_t __offset, int __whence) ;
# 306 "/usr/include/unistd.h" 3
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) ;
# 353 "/usr/include/unistd.h" 3
extern int pipe (int __pipedes[2]) ;
# 362 "/usr/include/unistd.h" 3
extern unsigned int alarm (unsigned int __seconds) ;
# 371 "/usr/include/unistd.h" 3
extern unsigned int sleep (unsigned int __seconds) ;






extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
            ;



extern int usleep (__useconds_t __useconds) ;





extern int pause (void) ;



extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
            ;



extern int fchown (int __fd, __uid_t __owner, __gid_t __group) ;




extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
            ;




extern int chdir (__const char *__path) ;



extern int fchdir (int __fd) ;
# 423 "/usr/include/unistd.h" 3
extern char *getcwd (char *__buf, size_t __size) ;
# 436 "/usr/include/unistd.h" 3
extern char *getwd (char *__buf) ;




extern int dup (int __fd) ;


extern int dup2 (int __fd, int __fd2) ;


extern char **__environ;







extern int execve (__const char *__path, char *__const __argv[],
                   char *__const __envp[]) ;
# 467 "/usr/include/unistd.h" 3
extern int execv (__const char *__path, char *__const __argv[]) ;



extern int execle (__const char *__path, __const char *__arg, ...) ;



extern int execl (__const char *__path, __const char *__arg, ...) ;



extern int execvp (__const char *__file, char *__const __argv[]) ;




extern int execlp (__const char *__file, __const char *__arg, ...) ;




extern int nice (int __inc) ;




extern void _exit (int __status) __attribute__ ((__noreturn__));





# 1 "/usr/include/bits/confname.h" 1 3
# 25 "/usr/include/bits/confname.h" 3
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

  };


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

  };





enum
  {
    _CS_PATH,
# 563 "/usr/include/bits/confname.h" 3
    _CS_V6_WIDTH_RESTRICTED_ENVS

  };
# 501 "/usr/include/unistd.h" 2 3


extern long int pathconf (__const char *__path, int __name) ;


extern long int fpathconf (int __fd, int __name) ;


extern long int sysconf (int __name) __attribute__ ((__const__));



extern size_t confstr (int __name, char *__buf, size_t __len) ;




extern __pid_t getpid (void) ;


extern __pid_t getppid (void) ;




extern __pid_t getpgrp (void) ;
# 536 "/usr/include/unistd.h" 3
extern __pid_t __getpgid (__pid_t __pid) ;
# 545 "/usr/include/unistd.h" 3
extern int setpgid (__pid_t __pid, __pid_t __pgid) ;
# 562 "/usr/include/unistd.h" 3
extern int setpgrp (void) ;
# 580 "/usr/include/unistd.h" 3
extern __pid_t setsid (void) ;







extern __uid_t getuid (void) ;


extern __uid_t geteuid (void) ;


extern __gid_t getgid (void) ;


extern __gid_t getegid (void) ;




extern int getgroups (int __size, __gid_t __list[]) ;
# 613 "/usr/include/unistd.h" 3
extern int setuid (__uid_t __uid) ;




extern int setreuid (__uid_t __ruid, __uid_t __euid) ;




extern int seteuid (__uid_t __uid) ;






extern int setgid (__gid_t __gid) ;




extern int setregid (__gid_t __rgid, __gid_t __egid) ;




extern int setegid (__gid_t __gid) ;






extern __pid_t fork (void) ;






extern __pid_t vfork (void) ;





extern char *ttyname (int __fd) ;



extern int ttyname_r (int __fd, char *__buf, size_t __buflen) ;



extern int isatty (int __fd) ;





extern int ttyslot (void) ;




extern int link (__const char *__from, __const char *__to) ;



extern int symlink (__const char *__from, __const char *__to) ;




extern int readlink (__const char *__restrict __path, char *__restrict __buf,
                     size_t __len) ;



extern int unlink (__const char *__name) ;


extern int rmdir (__const char *__path) ;



extern __pid_t tcgetpgrp (int __fd) ;


extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) ;



extern char *getlogin (void) ;
# 717 "/usr/include/unistd.h" 3
extern int setlogin (__const char *__name) ;
# 726 "/usr/include/unistd.h" 3
# 1 "/usr/include/getopt.h" 1 3
# 35 "/usr/include/getopt.h" 3
extern char *optarg;
# 49 "/usr/include/getopt.h" 3
extern int optind;




extern int opterr;



extern int optopt;
# 81 "/usr/include/getopt.h" 3
struct option
{

  const char *name;





  int has_arg;
  int *flag;
  int val;
};
# 108 "/usr/include/getopt.h" 3
extern int getopt (int argc, char *const *argv, const char *shortopts);



extern int getopt_long (int argc, char *const *argv, const char *shortopts,
                        const struct option *longopts, int *longind);
extern int getopt_long_only (int argc, char *const *argv,
                             const char *shortopts,
                             const struct option *longopts, int *longind);


extern int _getopt_internal (int argc, char *const *argv,
                             const char *shortopts,
                             const struct option *longopts, int *longind,
                             int long_only);
# 727 "/usr/include/unistd.h" 2 3







extern int gethostname (char *__name, size_t __len) ;






extern int sethostname (__const char *__name, size_t __len) ;



extern int sethostid (long int __id) ;





extern int getdomainname (char *__name, size_t __len) ;
extern int setdomainname (__const char *__name, size_t __len) ;





extern int vhangup (void) ;


extern int revoke (__const char *__file) ;







extern int profil (unsigned short int *__sample_buffer, size_t __size,
                   size_t __offset, unsigned int __scale) ;





extern int acct (__const char *__name) ;



extern char *getusershell (void) ;
extern void endusershell (void) ;
extern void setusershell (void) ;





extern int daemon (int __nochdir, int __noclose) ;






extern int chroot (__const char *__path) ;



extern char *getpass (__const char *__prompt) ;





extern int fsync (int __fd) ;






extern long int gethostid (void) ;


extern void sync (void) ;




extern int getpagesize (void) __attribute__ ((__const__));




extern int truncate (__const char *__file, __off_t __length) ;
# 841 "/usr/include/unistd.h" 3
extern int ftruncate (int __fd, __off_t __length) ;
# 857 "/usr/include/unistd.h" 3
extern int getdtablesize (void) ;
# 866 "/usr/include/unistd.h" 3
extern int brk (void *__addr) ;





extern void *sbrk (intptr_t __delta) ;
# 887 "/usr/include/unistd.h" 3
extern long int syscall (long int __sysno, ...) ;
# 907 "/usr/include/unistd.h" 3
extern int lockf (int __fd, int __cmd, __off_t __len) ;
# 938 "/usr/include/unistd.h" 3
extern int fdatasync (int __fildes) ;
# 983 "/usr/include/unistd.h" 3
extern int pthread_atfork (void (*__prepare) (void),
                           void (*__parent) (void),
                           void (*__child) (void)) ;
# 28 "../kpathsea/c-unistd.h" 2


# 1 "../kpathsea/c-std.h" 1
# 31 "../kpathsea/c-unistd.h" 2
# 34 "../kpathsea/c-std.h" 2


# 1 "/usr/include/stdlib.h" 1 3
# 25 "/usr/include/stdlib.h" 3
# 1 "/usr/include/features.h" 1 3
# 26 "/usr/include/stdlib.h" 2 3







# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stddef.h" 1 3
# 34 "/usr/include/stdlib.h" 2 3
# 94 "/usr/include/stdlib.h" 3
typedef struct
  {
    int quot;
    int rem;
  } div_t;



typedef struct
  {
    long int quot;
    long int rem;
  } ldiv_t;
# 133 "/usr/include/stdlib.h" 3
extern size_t __ctype_get_mb_cur_max (void) ;



extern double atof (__const char *__nptr) __attribute__ ((__pure__));

extern int atoi (__const char *__nptr) __attribute__ ((__pure__));

extern long int atol (__const char *__nptr) __attribute__ ((__pure__));



__extension__ extern long long int atoll (__const char *__nptr)
             __attribute__ ((__pure__));



extern double strtod (__const char *__restrict __nptr,
                      char **__restrict __endptr) ;
# 163 "/usr/include/stdlib.h" 3
extern long int strtol (__const char *__restrict __nptr,
                        char **__restrict __endptr, int __base) ;

extern unsigned long int strtoul (__const char *__restrict __nptr,
                                  char **__restrict __endptr, int __base)
            ;



__extension__
extern long long int strtoq (__const char *__restrict __nptr,
                             char **__restrict __endptr, int __base) ;

__extension__
extern unsigned long long int strtouq (__const char *__restrict __nptr,
                                       char **__restrict __endptr, int __base)
            ;






__extension__
extern long long int strtoll (__const char *__restrict __nptr,
                              char **__restrict __endptr, int __base) ;

__extension__
extern unsigned long long int strtoull (__const char *__restrict __nptr,
                                        char **__restrict __endptr, int __base)
            ;
# 250 "/usr/include/stdlib.h" 3
extern double __strtod_internal (__const char *__restrict __nptr,
                                 char **__restrict __endptr, int __group)
            ;
extern float __strtof_internal (__const char *__restrict __nptr,
                                char **__restrict __endptr, int __group)
            ;
extern long double __strtold_internal (__const char *__restrict __nptr,
                                       char **__restrict __endptr,
                                       int __group) ;

extern long int __strtol_internal (__const char *__restrict __nptr,
                                   char **__restrict __endptr,
                                   int __base, int __group) ;



extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
                                             char **__restrict __endptr,
                                             int __base, int __group) ;




__extension__
extern long long int __strtoll_internal (__const char *__restrict __nptr,
                                         char **__restrict __endptr,
                                         int __base, int __group) ;



__extension__
extern unsigned long long int __strtoull_internal (__const char *
                                                   __restrict __nptr,
                                                   char **__restrict __endptr,
                                                   int __base, int __group)
            ;







extern __inline double
strtod (__const char *__restrict __nptr, char **__restrict __endptr)
{
  return __strtod_internal (__nptr, __endptr, 0);
}
extern __inline long int
strtol (__const char *__restrict __nptr, char **__restrict __endptr,
        int __base)
{
  return __strtol_internal (__nptr, __endptr, __base, 0);
}
extern __inline unsigned long int
strtoul (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base)
{
  return __strtoul_internal (__nptr, __endptr, __base, 0);
}
# 325 "/usr/include/stdlib.h" 3
__extension__ extern __inline long long int
strtoq (__const char *__restrict __nptr, char **__restrict __endptr,
        int __base)
{
  return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
strtouq (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base)
{
  return __strtoull_internal (__nptr, __endptr, __base, 0);
}



__extension__ extern __inline long long int
strtoll (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base)
{
  return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
strtoull (__const char * __restrict __nptr, char **__restrict __endptr,
          int __base)
{
  return __strtoull_internal (__nptr, __endptr, __base, 0);
}


extern __inline double
atof (__const char *__nptr)
{
  return strtod (__nptr, (char **) ((void *)0));
}
extern __inline int
atoi (__const char *__nptr)
{
  return (int) strtol (__nptr, (char **) ((void *)0), 10);
}
extern __inline long int
atol (__const char *__nptr)
{
  return strtol (__nptr, (char **) ((void *)0), 10);
}


__extension__ extern __inline long long int
atoll (__const char *__nptr)
{
  return strtoll (__nptr, (char **) ((void *)0), 10);
}
# 384 "/usr/include/stdlib.h" 3
extern char *l64a (long int __n) ;


extern long int a64l (__const char *__s) __attribute__ ((__pure__));


# 1 "/usr/include/sys/types.h" 1 3
# 391 "/usr/include/stdlib.h" 2 3






extern long int random (void) ;


extern void srandom (unsigned int __seed) ;





extern char *initstate (unsigned int __seed, char *__statebuf,
                        size_t __statelen) ;



extern char *setstate (char *__statebuf) ;







struct random_data
  {
    int32_t *fptr;
    int32_t *rptr;
    int32_t *state;
    int rand_type;
    int rand_deg;
    int rand_sep;
    int32_t *end_ptr;
  };

extern int random_r (struct random_data *__restrict __buf,
                     int32_t *__restrict __result) ;

extern int srandom_r (unsigned int __seed, struct random_data *__buf) ;

extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
                        size_t __statelen,
                        struct random_data *__restrict __buf) ;

extern int setstate_r (char *__restrict __statebuf,
                       struct random_data *__restrict __buf) ;





extern int rand (void) ;

extern void srand (unsigned int __seed) ;



extern int rand_r (unsigned int *__seed) ;







extern double drand48 (void) ;
extern double erand48 (unsigned short int __xsubi[3]) ;


extern long int lrand48 (void) ;
extern long int nrand48 (unsigned short int __xsubi[3]) ;


extern long int mrand48 (void) ;
extern long int jrand48 (unsigned short int __xsubi[3]) ;


extern void srand48 (long int __seedval) ;
extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ;
extern void lcong48 (unsigned short int __param[7]) ;





struct drand48_data
  {
    unsigned short int __x[3];
    unsigned short int __old_x[3];
    unsigned short int __c;
    unsigned short int __init;
    unsigned long long int __a;
  };


extern int drand48_r (struct drand48_data *__restrict __buffer,
                      double *__restrict __result) ;
extern int erand48_r (unsigned short int __xsubi[3],
                      struct drand48_data *__restrict __buffer,
                      double *__restrict __result) ;


extern int lrand48_r (struct drand48_data *__restrict __buffer,
                      long int *__restrict __result) ;
extern int nrand48_r (unsigned short int __xsubi[3],
                      struct drand48_data *__restrict __buffer,
                      long int *__restrict __result) ;


extern int mrand48_r (struct drand48_data *__restrict __buffer,
                      long int *__restrict __result) ;
extern int jrand48_r (unsigned short int __xsubi[3],
                      struct drand48_data *__restrict __buffer,
                      long int *__restrict __result) ;


extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
            ;

extern int seed48_r (unsigned short int __seed16v[3],
                     struct drand48_data *__buffer) ;

extern int lcong48_r (unsigned short int __param[7],
                      struct drand48_data *__buffer) ;
# 527 "/usr/include/stdlib.h" 3
extern void *malloc (size_t __size) __attribute__ ((__malloc__));

extern void *calloc (size_t __nmemb, size_t __size)
             __attribute__ ((__malloc__));





extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__));

extern void free (void *__ptr) ;



extern void cfree (void *__ptr) ;



# 1 "/usr/include/alloca.h" 1 3
# 22 "/usr/include/alloca.h" 3
# 1 "/usr/include/features.h" 1 3
# 23 "/usr/include/alloca.h" 2 3


# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stddef.h" 1 3
# 26 "/usr/include/alloca.h" 2 3







extern void *alloca (size_t __size) ;
# 547 "/usr/include/stdlib.h" 2 3




extern void *valloc (size_t __size) __attribute__ ((__malloc__));
# 561 "/usr/include/stdlib.h" 3
extern void abort (void) __attribute__ ((__noreturn__));



extern int atexit (void (*__func) (void)) ;




extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
            ;





extern void exit (int __status) __attribute__ ((__noreturn__));
# 587 "/usr/include/stdlib.h" 3
extern char *getenv (__const char *__name) ;



extern char *__secure_getenv (__const char *__name) ;





extern int putenv (char *__string) ;





extern int setenv (__const char *__name, __const char *__value, int __replace)
            ;


extern int unsetenv (__const char *__name) ;






extern int clearenv (void) ;
# 623 "/usr/include/stdlib.h" 3
extern char *mktemp (char *__template) ;







extern int mkstemp (char *__template) ;
# 650 "/usr/include/stdlib.h" 3
extern char *mkdtemp (char *__template) ;




extern int system (__const char *__command) ;
# 672 "/usr/include/stdlib.h" 3
extern char *realpath (__const char *__restrict __name,
                       char *__restrict __resolved) ;






typedef int (*__compar_fn_t) (__const void *, __const void *);
# 689 "/usr/include/stdlib.h" 3
extern void *bsearch (__const void *__key, __const void *__base,
                      size_t __nmemb, size_t __size, __compar_fn_t __compar);



extern void qsort (void *__base, size_t __nmemb, size_t __size,
                   __compar_fn_t __compar);



extern int abs (int __x) __attribute__ ((__const__));
extern long int labs (long int __x) __attribute__ ((__const__));
# 710 "/usr/include/stdlib.h" 3
extern div_t div (int __numer, int __denom)
             __attribute__ ((__const__));
extern ldiv_t ldiv (long int __numer, long int __denom)
             __attribute__ ((__const__));
# 728 "/usr/include/stdlib.h" 3
extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign) ;




extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign) ;




extern char *gcvt (double __value, int __ndigit, char *__buf) ;




extern char *qecvt (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign) ;
extern char *qfcvt (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign) ;
extern char *qgcvt (long double __value, int __ndigit, char *__buf) ;




extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign, char *__restrict __buf,
                   size_t __len) ;
extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign, char *__restrict __buf,
                   size_t __len) ;

extern int qecvt_r (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign,
                    char *__restrict __buf, size_t __len) ;
extern int qfcvt_r (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign,
                    char *__restrict __buf, size_t __len) ;






extern int mblen (__const char *__s, size_t __n) ;


extern int mbtowc (wchar_t *__restrict __pwc,
                   __const char *__restrict __s, size_t __n) ;


extern int wctomb (char *__s, wchar_t __wchar) ;



extern size_t mbstowcs (wchar_t *__restrict __pwcs,
                        __const char *__restrict __s, size_t __n) ;

extern size_t wcstombs (char *__restrict __s,
                        __const wchar_t *__restrict __pwcs, size_t __n)
            ;







extern int rpmatch (__const char *__response) ;
# 858 "/usr/include/stdlib.h" 3
extern int getloadavg (double __loadavg[], int __nelem) ;
# 37 "../kpathsea/c-std.h" 2
# 75 "../kpathsea/c-std.h"
# 1 "../kpathsea/c-memstr.h" 1
# 26 "../kpathsea/c-memstr.h"
# 1 "/usr/include/string.h" 1 3
# 26 "/usr/include/string.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/string.h" 2 3






# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stddef.h" 1 3
# 34 "/usr/include/string.h" 2 3



extern void *memcpy (void *__restrict __dest,
                     __const void *__restrict __src, size_t __n) ;


extern void *memmove (void *__dest, __const void *__src, size_t __n)
            ;





extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
                      int __c, size_t __n)
            ;




extern void *memset (void *__s, int __c, size_t __n) ;


extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
             __attribute__ ((__pure__));


extern void *memchr (__const void *__s, int __c, size_t __n)
              __attribute__ ((__pure__));
# 77 "/usr/include/string.h" 3
extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
            ;

extern char *strncpy (char *__restrict __dest,
                      __const char *__restrict __src, size_t __n) ;


extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
            ;

extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
                      size_t __n) ;


extern int strcmp (__const char *__s1, __const char *__s2)
             __attribute__ ((__pure__));

extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
             __attribute__ ((__pure__));


extern int strcoll (__const char *__s1, __const char *__s2)
             __attribute__ ((__pure__));

extern size_t strxfrm (char *__restrict __dest,
                       __const char *__restrict __src, size_t __n) ;
# 120 "/usr/include/string.h" 3
extern char *strdup (__const char *__s) __attribute__ ((__malloc__));
# 155 "/usr/include/string.h" 3
extern char *strchr (__const char *__s, int __c) __attribute__ ((__pure__));

extern char *strrchr (__const char *__s, int __c) __attribute__ ((__pure__));
# 167 "/usr/include/string.h" 3
extern size_t strcspn (__const char *__s, __const char *__reject)
             __attribute__ ((__pure__));


extern size_t strspn (__const char *__s, __const char *__accept)
             __attribute__ ((__pure__));

extern char *strpbrk (__const char *__s, __const char *__accept)
             __attribute__ ((__pure__));

extern char *strstr (__const char *__haystack, __const char *__needle)
             __attribute__ ((__pure__));
# 187 "/usr/include/string.h" 3
extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
            ;



extern char *__strtok_r (char *__restrict __s,
                         __const char *__restrict __delim,
                         char **__restrict __save_ptr) ;

extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
                       char **__restrict __save_ptr) ;
# 218 "/usr/include/string.h" 3
extern size_t strlen (__const char *__s) __attribute__ ((__pure__));
# 229 "/usr/include/string.h" 3
extern char *strerror (int __errnum) ;



extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) ;




extern void __bzero (void *__s, size_t __n) ;



extern void bcopy (__const void *__src, void *__dest, size_t __n) ;


extern void bzero (void *__s, size_t __n) ;


extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
             __attribute__ ((__pure__));


extern char *index (__const char *__s, int __c) __attribute__ ((__pure__));


extern char *rindex (__const char *__s, int __c) __attribute__ ((__pure__));



extern int ffs (int __i) __attribute__ ((__const__));
# 272 "/usr/include/string.h" 3
extern int strcasecmp (__const char *__s1, __const char *__s2)
             __attribute__ ((__pure__));


extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
             __attribute__ ((__pure__));
# 294 "/usr/include/string.h" 3
extern char *strsep (char **__restrict __stringp,
                     __const char *__restrict __delim) ;
# 357 "/usr/include/string.h" 3
# 1 "/usr/include/bits/string.h" 1 3
# 358 "/usr/include/string.h" 2 3


# 1 "/usr/include/bits/string2.h" 1 3
# 52 "/usr/include/bits/string2.h" 3
# 1 "/usr/include/endian.h" 1 3
# 53 "/usr/include/bits/string2.h" 2 3
# 1 "/usr/include/bits/types.h" 1 3
# 54 "/usr/include/bits/string2.h" 2 3
# 377 "/usr/include/bits/string2.h" 3
extern void *__rawmemchr (const void *__s, int __c);
# 405 "/usr/include/bits/string2.h" 3
extern __inline char *__strcpy_small (char *, __uint16_t, __uint16_t,
                                      __uint32_t, __uint32_t, size_t);
extern __inline char *
__strcpy_small (char *__dest,
                __uint16_t __src0_2, __uint16_t __src4_2,
                __uint32_t __src0_4, __uint32_t __src4_4,
                size_t __srclen)
{
  union {
    __uint32_t __ui;
    __uint16_t __usi;
    unsigned char __uc;
  } *__u = (void *) __dest;
  switch ((unsigned int) __srclen)
    {
    case 1:
      __u->__uc = '\0';
      break;
    case 2:
      __u->__usi = __src0_2;
      break;
    case 3:
      __u->__usi = __src0_2;
      __u = __extension__ (void *)((char *) __u + 2);
      __u->__uc = '\0';
      break;
    case 4:
      __u->__ui = __src0_4;
      break;
    case 5:
      __u->__ui = __src0_4;
      __u = __extension__ (void *)((char *) __u + 4);
      __u->__uc = '\0';
      break;
    case 6:
      __u->__ui = __src0_4;
      __u = __extension__ (void *)((char *) __u + 4);
      __u->__usi = __src4_2;
      break;
    case 7:
      __u->__ui = __src0_4;
      __u = __extension__ (void *)((char *) __u + 4);
      __u->__usi = __src4_2;
      __u = __extension__ (void *)((char *) __u + 2);
      __u->__uc = '\0';
      break;
    case 8:
      __u->__ui = __src0_4;
      __u = __extension__ (void *)((char *) __u + 4);
      __u->__ui = __src4_4;
      break;
    }
  return __dest;
}
# 893 "/usr/include/bits/string2.h" 3
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;
}
# 950 "/usr/include/bits/string2.h" 3
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;
}
# 1007 "/usr/include/bits/string2.h" 3
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;
}
# 1059 "/usr/include/bits/string2.h" 3
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;
}
# 1091 "/usr/include/bits/string2.h" 3
extern char *__strsep_g (char **__stringp, __const char *__delim);
# 1109 "/usr/include/bits/string2.h" 3
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) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : 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;
}
# 1185 "/usr/include/bits/string2.h" 3
# 1 "/usr/include/stdlib.h" 1 3
# 1186 "/usr/include/bits/string2.h" 2 3




extern char *__strdup (__const char *__string) __attribute__ ((__malloc__));
# 1209 "/usr/include/bits/string2.h" 3
extern char *__strndup (__const char *__string, size_t __n)
             __attribute__ ((__malloc__));
# 361 "/usr/include/string.h" 2 3
# 27 "../kpathsea/c-memstr.h" 2
# 76 "../kpathsea/c-std.h" 2


# 1 "../kpathsea/c-errno.h" 1
# 22 "../kpathsea/c-errno.h"
# 1 "/usr/include/errno.h" 1 3
# 29 "/usr/include/errno.h" 3
# 1 "/usr/include/features.h" 1 3
# 30 "/usr/include/errno.h" 2 3






# 1 "/usr/include/bits/errno.h" 1 3
# 25 "/usr/include/bits/errno.h" 3
# 1 "/usr/include/linux/errno.h" 1 3



# 1 "/usr/include/asm/errno.h" 1 3
# 5 "/usr/include/linux/errno.h" 2 3
# 26 "/usr/include/bits/errno.h" 2 3
# 36 "/usr/include/bits/errno.h" 3
extern int errno;


extern int *__errno_location (void) __attribute__ ((__const__));
# 37 "/usr/include/errno.h" 2 3
# 23 "../kpathsea/c-errno.h" 2
# 79 "../kpathsea/c-std.h" 2


# 1 "../kpathsea/c-minmax.h" 1
# 23 "../kpathsea/c-minmax.h"
# 1 "../kpathsea/c-limits.h" 1
# 23 "../kpathsea/c-limits.h"
# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/limits.h" 1 3
# 11 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/limits.h" 3
# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/syslimits.h" 1 3






# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/limits.h" 1 3
# 130 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/limits.h" 3
# 1 "/usr/include/limits.h" 1 3
# 26 "/usr/include/limits.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/limits.h" 2 3
# 144 "/usr/include/limits.h" 3
# 1 "/usr/include/bits/posix1_lim.h" 1 3
# 126 "/usr/include/bits/posix1_lim.h" 3
# 1 "/usr/include/bits/local_lim.h" 1 3
# 36 "/usr/include/bits/local_lim.h" 3
# 1 "/usr/include/linux/limits.h" 1 3
# 37 "/usr/include/bits/local_lim.h" 2 3
# 127 "/usr/include/bits/posix1_lim.h" 2 3
# 145 "/usr/include/limits.h" 2 3



# 1 "/usr/include/bits/posix2_lim.h" 1 3
# 149 "/usr/include/limits.h" 2 3
# 131 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/limits.h" 2 3
# 8 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/syslimits.h" 2 3
# 12 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/limits.h" 2 3
# 24 "../kpathsea/c-limits.h" 2
# 33 "../kpathsea/c-limits.h"
# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/float.h" 1 3
# 79 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/float.h" 3
union __convert_long_double {
  unsigned __convert_long_double_i[4];
  long double __convert_long_double_d;
};
# 34 "../kpathsea/c-limits.h" 2
# 24 "../kpathsea/c-minmax.h" 2
# 82 "../kpathsea/c-std.h" 2



# 1 "/usr/include/assert.h" 1 3
# 36 "/usr/include/assert.h" 3
# 1 "/usr/include/features.h" 1 3
# 37 "/usr/include/assert.h" 2 3
# 68 "/usr/include/assert.h" 3
extern void __assert_fail (__const char *__assertion, __const char *__file,
                           unsigned int __line, __const char *__function)
             __attribute__ ((__noreturn__));


extern void __assert_perror_fail (int __errnum, __const char *__file,
                                  unsigned int __line,
                                  __const char *__function)
             __attribute__ ((__noreturn__));




extern void __assert (const char *__assertion, const char *__file, int __line)
             __attribute__ ((__noreturn__));
# 86 "../kpathsea/c-std.h" 2
# 97 "../kpathsea/c-std.h"
extern FILE *popen ();
extern int pclose ();
# 60 "../kpathsea/config.h" 2

# 1 "../kpathsea/c-proto.h" 1
# 62 "../kpathsea/config.h" 2

# 1 "../kpathsea/debug.h" 1
# 25 "../kpathsea/debug.h"
# 1 "../kpathsea/c-proto.h" 1
# 26 "../kpathsea/debug.h" 2
# 1 "../kpathsea/c-std.h" 1
# 27 "../kpathsea/debug.h" 2
# 1 "../kpathsea/types.h" 1
# 32 "../kpathsea/types.h"
typedef enum { false = 0, true = 1 } boolean;
# 44 "../kpathsea/types.h"
typedef char *string;



typedef const char *const_string;


typedef void *address;
# 28 "../kpathsea/debug.h" 2
# 56 "../kpathsea/debug.h"
extern unsigned kpathsea_debug;
# 90 "../kpathsea/debug.h"
extern FILE *kpse_fopen_trace (const_string filename, const_string mode);


extern int kpse_fclose_trace (FILE *);
# 64 "../kpathsea/config.h" 2
# 1 "../kpathsea/lib.h" 1
# 22 "../kpathsea/lib.h"
# 1 "../kpathsea/types.h" 1
# 23 "../kpathsea/lib.h" 2
# 94 "../kpathsea/lib.h"
extern string concat (const_string s1, const_string s2);
extern string concat3 (const_string, const_string, const_string);




extern string xstrdup (const_string s);


extern string uppercasify (const_string s);


extern unsigned atou (const_string);




extern boolean same_file_p (const_string filename1, const_string filename2);




extern const_string xbasename (const_string name);


extern string xdirname (const_string name);







extern string find_suffix (const_string name);


extern string remove_suffix (const_string name);




extern string make_suffix (const_string s, const_string suffix);




extern string make_prefix (string stem_prefix, string name);



extern string extend_filename (const_string name, const_string suffix);



extern void xputenv (const_string var, const_string value);
extern void xputenv_int (const_string var, int value);


extern string xgetcwd (void);


extern boolean dir_p (const_string fn);



extern int dir_links (const_string fn);



extern FILE *xfopen (const_string filename, const_string mode);
extern void xfclose (FILE *, const_string filename);
extern void xfseek (FILE *, long, int, string filename);
extern unsigned long xftell (FILE *, string filename);




extern address xmalloc (unsigned size);
extern address xrealloc (address old_address, unsigned new_size);
extern address xcalloc (unsigned nelem, unsigned elsize);
# 65 "../kpathsea/config.h" 2
# 1 "../kpathsea/types.h" 1
# 66 "../kpathsea/config.h" 2
# 1 "../kpathsea/progname.h" 1
# 22 "../kpathsea/progname.h"
# 1 "../kpathsea/c-proto.h" 1
# 23 "../kpathsea/progname.h" 2
# 1 "../kpathsea/types.h" 1
# 24 "../kpathsea/progname.h" 2

extern string program_invocation_name;
extern string program_invocation_short_name;
extern string kpse_program_name;







extern void kpse_set_program_name (const_string argv0, const_string progname);
# 50 "../kpathsea/progname.h"
extern void kpse_set_progname (const_string argv0);
# 67 "../kpathsea/config.h" 2
# 229 "gsftopk.c" 2
# 1 "../kpathsea/c-errno.h" 1
# 230 "gsftopk.c" 2
# 1 "../kpathsea/c-ctype.h" 1
# 22 "../kpathsea/c-ctype.h"
# 1 "/usr/include/ctype.h" 1 3
# 26 "/usr/include/ctype.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/ctype.h" 2 3
# 1 "/usr/include/bits/types.h" 1 3
# 28 "/usr/include/ctype.h" 2 3
# 40 "/usr/include/ctype.h" 3
# 1 "/usr/include/endian.h" 1 3
# 41 "/usr/include/ctype.h" 2 3






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))
};
# 75 "/usr/include/ctype.h" 3
extern __const unsigned short int *__ctype_b;
extern __const __int32_t *__ctype_tolower;
extern __const __int32_t *__ctype_toupper;
# 91 "/usr/include/ctype.h" 3
extern int isalnum (int) ;
extern int isalpha (int) ;
extern int iscntrl (int) ;
extern int isdigit (int) ;
extern int islower (int) ;
extern int isgraph (int) ;
extern int isprint (int) ;
extern int ispunct (int) ;
extern int isspace (int) ;
extern int isupper (int) ;
extern int isxdigit (int) ;







extern int tolower (int __c) ;


extern int toupper (int __c) ;






extern int isascii (int __c) ;



extern int toascii (int __c) ;



extern int _toupper (int) ;
extern int _tolower (int) ;
# 167 "/usr/include/ctype.h" 3
extern __inline int
tolower (int __c)
{
  return __c >= -128 && __c < 256 ? __ctype_tolower[__c] : __c;
}

extern __inline int
toupper (int __c)
{
  return __c >= -128 && __c < 256 ? __ctype_toupper[__c] : __c;
}
# 23 "../kpathsea/c-ctype.h" 2
# 231 "gsftopk.c" 2
# 1 "../kpathsea/c-fopen.h" 1
# 69 "../kpathsea/c-fopen.h"
# 1 "/usr/include/fcntl.h" 1 3
# 26 "/usr/include/fcntl.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/fcntl.h" 2 3






# 1 "/usr/include/bits/fcntl.h" 1 3
# 25 "/usr/include/bits/fcntl.h" 3
# 1 "/usr/include/sys/types.h" 1 3
# 26 "/usr/include/bits/fcntl.h" 2 3
# 136 "/usr/include/bits/fcntl.h" 3
struct flock
  {
    short int l_type;
    short int l_whence;

    __off_t l_start;
    __off_t l_len;




    __pid_t l_pid;
  };
# 34 "/usr/include/fcntl.h" 2 3
# 60 "/usr/include/fcntl.h" 3
extern int fcntl (int __fd, int __cmd, ...) ;





extern int open (__const char *__file, int __oflag, ...) ;
# 83 "/usr/include/fcntl.h" 3
extern int creat (__const char *__file, __mode_t __mode) ;
# 70 "../kpathsea/c-fopen.h" 2
# 232 "gsftopk.c" 2
# 1 "../kpathsea/c-pathmx.h" 1
# 24 "../kpathsea/c-pathmx.h"
# 1 "../kpathsea/c-limits.h" 1
# 25 "../kpathsea/c-pathmx.h" 2
# 233 "gsftopk.c" 2
# 1 "../kpathsea/proginit.h" 1
# 22 "../kpathsea/proginit.h"
# 1 "../kpathsea/c-proto.h" 1
# 23 "../kpathsea/proginit.h" 2
# 1 "../kpathsea/types.h" 1
# 24 "../kpathsea/proginit.h" 2






extern void
kpse_init_prog (const_string prefix, unsigned dpi, const_string mode, const_string 
fallback);
# 234 "gsftopk.c" 2
# 1 "../kpathsea/tex-file.h" 1
# 23 "../kpathsea/tex-file.h"
# 1 "../kpathsea/c-proto.h" 1
# 24 "../kpathsea/tex-file.h" 2
# 1 "../kpathsea/types.h" 1
# 25 "../kpathsea/tex-file.h" 2



extern const_string kpse_fallback_font;





extern const_string kpse_fallback_resolutions_string;



extern unsigned *kpse_fallback_resolutions;




extern void kpse_init_fallback_resolutions (string envvar);




typedef enum
{
  kpse_gf_format,
  kpse_pk_format,
  kpse_any_glyph_format,
  kpse_tfm_format,
  kpse_afm_format,
  kpse_base_format,
  kpse_bib_format,
  kpse_bst_format,
  kpse_cnf_format,
  kpse_db_format,
  kpse_fmt_format,
  kpse_fontmap_format,
  kpse_mem_format,
  kpse_mf_format,
  kpse_mfpool_format,
  kpse_mft_format,
  kpse_mp_format,
  kpse_mppool_format,
  kpse_mpsupport_format,
  kpse_ocp_format,
  kpse_ofm_format,
  kpse_opl_format,
  kpse_otp_format,
  kpse_ovf_format,
  kpse_ovp_format,
  kpse_pict_format,
  kpse_tex_format,
  kpse_texdoc_format,
  kpse_texpool_format,
  kpse_texsource_format,
  kpse_tex_ps_header_format,
  kpse_troff_font_format,
  kpse_type1_format,
  kpse_vf_format,
  kpse_dvips_config_format,
  kpse_ist_format,
  kpse_truetype_format,
  kpse_type42_format,
  kpse_web2c_format,
  kpse_program_text_format,
  kpse_program_binary_format,
  kpse_miscfonts_format,
  kpse_last_format
} kpse_file_format_type;




typedef enum
{
  kpse_src_implicit,
  kpse_src_compile,
  kpse_src_texmf_cnf,
  kpse_src_client_cnf,
  kpse_src_env,
  kpse_src_x,
  kpse_src_cmdline
} kpse_src_type;
# 117 "../kpathsea/tex-file.h"
typedef struct
{
  const_string type;
  const_string path;
  const_string raw_path;
  const_string path_source;
  const_string override_path;
  const_string client_path;
  const_string cnf_path;
  const_string default_path;
  const_string *suffix;
  const_string *alt_suffix;
  boolean suffix_search_only;
  const_string program;
  const_string program_args;
  boolean program_enabled_p;
  kpse_src_type program_enable_level;
  boolean binmode;
} kpse_format_info_type;



extern kpse_format_info_type kpse_format_info[kpse_last_format];




extern void kpse_set_program_enabled (kpse_file_format_type fmt, boolean value, 
kpse_src_type level);



extern void kpse_maketex_option (const_string fmtname, boolean value);




extern const_string kpse_init_format (kpse_file_format_type);




extern string kpse_find_file (const_string name, kpse_file_format_type format, boolean 
must_exist);
# 176 "../kpathsea/tex-file.h"
extern FILE *kpse_open_file (const_string, kpse_file_format_type);





extern void kpse_reset_program_name (const_string progname);
# 235 "gsftopk.c" 2
# 1 "../kpathsea/tex-make.h" 1
# 22 "../kpathsea/tex-make.h"
# 1 "../kpathsea/c-proto.h" 1
# 23 "../kpathsea/tex-make.h" 2
# 1 "../kpathsea/tex-file.h" 1
# 24 "../kpathsea/tex-make.h" 2
# 1 "../kpathsea/types.h" 1
# 25 "../kpathsea/tex-make.h" 2




extern boolean kpse_make_tex_discard_errors;






extern string kpse_make_tex (kpse_file_format_type format, const_string base_file);
# 236 "gsftopk.c" 2
# 1 "../kpathsea/variable.h" 1
# 22 "../kpathsea/variable.h"
# 1 "../kpathsea/c-proto.h" 1
# 23 "../kpathsea/variable.h" 2
# 1 "../kpathsea/types.h" 1
# 24 "../kpathsea/variable.h" 2




extern string kpse_var_value (const_string var);
# 40 "../kpathsea/variable.h"
extern string kpse_var_expand (const_string src);
# 237 "gsftopk.c" 2
# 1 "c-auto.h" 1
# 238 "gsftopk.c" 2
# 1 "/usr/include/signal.h" 1 3
# 29 "/usr/include/signal.h" 3
# 1 "/usr/include/features.h" 1 3
# 30 "/usr/include/signal.h" 2 3



# 1 "/usr/include/bits/sigset.h" 1 3
# 103 "/usr/include/bits/sigset.h" 3
extern int __sigismember (__const __sigset_t *, int);
extern int __sigaddset (__sigset_t *, int);
extern int __sigdelset (__sigset_t *, int);
# 117 "/usr/include/bits/sigset.h" 3
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






typedef __sig_atomic_t sig_atomic_t;
# 55 "/usr/include/signal.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 56 "/usr/include/signal.h" 2 3
# 1 "/usr/include/bits/signum.h" 1 3
# 57 "/usr/include/signal.h" 2 3
# 71 "/usr/include/signal.h" 3
typedef void (*__sighandler_t) (int);




extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler)
            ;
# 87 "/usr/include/signal.h" 3
extern __sighandler_t signal (int __sig, __sighandler_t __handler) ;
# 110 "/usr/include/signal.h" 3
extern int kill (__pid_t __pid, int __sig) ;






extern int killpg (__pid_t __pgrp, int __sig) ;



extern int raise (int __sig) ;



extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) ;
extern int gsignal (int __sig) ;




extern void psignal (int __sig, __const char *__s) ;
# 140 "/usr/include/signal.h" 3
extern int __sigpause (int __sig_or_mask, int __is_sig) ;




extern int sigpause (int __mask) ;
# 168 "/usr/include/signal.h" 3
extern int sigblock (int __mask) ;


extern int sigsetmask (int __mask) ;


extern int siggetmask (void) ;
# 188 "/usr/include/signal.h" 3
typedef __sighandler_t sig_t;







# 1 "/usr/include/time.h" 1 3
# 197 "/usr/include/signal.h" 2 3


# 1 "/usr/include/bits/siginfo.h" 1 3
# 25 "/usr/include/bits/siginfo.h" 3
# 1 "/usr/include/bits/wordsize.h" 1 3
# 26 "/usr/include/bits/siginfo.h" 2 3







typedef union sigval
  {
    int sival_int;
    void *sival_ptr;
  } sigval_t;
# 51 "/usr/include/bits/siginfo.h" 3
typedef struct siginfo
  {
    int si_signo;
    int si_errno;

    int si_code;

    union
      {
        int _pad[((128 / sizeof (int)) - 3)];


        struct
          {
            __pid_t si_pid;
            __uid_t si_uid;
          } _kill;


        struct
          {
            unsigned int _timer1;
            unsigned int _timer2;
          } _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;
# 128 "/usr/include/bits/siginfo.h" 3
enum
{
  SI_ASYNCNL = -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

};
# 271 "/usr/include/bits/siginfo.h" 3
struct __pthread_attr_s;

typedef struct sigevent
  {
    sigval_t sigev_value;
    int sigev_signo;
    int sigev_notify;

    union
      {
        int _pad[((64 / sizeof (int)) - 3)];

        struct
          {
            void (*_function) (sigval_t);
            struct __pthread_attr_s *_attribute;
          } _sigev_thread;
      } _sigev_un;
  } sigevent_t;






enum
{
  SIGEV_SIGNAL = 0,

  SIGEV_NONE,

  SIGEV_THREAD

};
# 200 "/usr/include/signal.h" 2 3



extern int sigemptyset (sigset_t *__set) ;


extern int sigfillset (sigset_t *__set) ;


extern int sigaddset (sigset_t *__set, int __signo) ;


extern int sigdelset (sigset_t *__set, int __signo) ;


extern int sigismember (__const sigset_t *__set, int __signo) ;
# 232 "/usr/include/signal.h" 3
# 1 "/usr/include/bits/sigaction.h" 1 3
# 25 "/usr/include/bits/sigaction.h" 3
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);
  };
# 233 "/usr/include/signal.h" 2 3


extern int sigprocmask (int __how, __const sigset_t *__restrict __set,
                        sigset_t *__restrict __oset) ;



extern int sigsuspend (__const sigset_t *__set) ;


extern int sigaction (int __sig, __const struct sigaction *__restrict __act,
                      struct sigaction *__restrict __oact) ;


extern int sigpending (sigset_t *__set) ;



extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig)
            ;



extern int sigwaitinfo (__const sigset_t *__restrict __set,
                        siginfo_t *__restrict __info) ;



extern int sigtimedwait (__const sigset_t *__restrict __set,
                         siginfo_t *__restrict __info,
                         __const struct timespec *__restrict __timeout)
            ;



extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val)
            ;
# 278 "/usr/include/signal.h" 3
extern __const char *__const _sys_siglist[64];
extern __const char *__const sys_siglist[64];


struct sigvec
  {
    __sighandler_t sv_handler;
    int sv_mask;

    int sv_flags;

  };
# 302 "/usr/include/signal.h" 3
extern int sigvec (int __sig, __const struct sigvec *__vec,
                   struct sigvec *__ovec) ;



# 1 "/usr/include/bits/sigcontext.h" 1 3
# 28 "/usr/include/bits/sigcontext.h" 3
# 1 "/usr/include/asm/sigcontext.h" 1 3
# 18 "/usr/include/asm/sigcontext.h" 3
struct _fpreg {
        unsigned short significand[4];
        unsigned short exponent;
};

struct _fpxreg {
        unsigned short significand[4];
        unsigned short exponent;
        unsigned short padding[3];
};

struct _xmmreg {
        unsigned long element[4];
};

struct _fpstate {

        unsigned long cw;
        unsigned long sw;
        unsigned long tag;
        unsigned long ipoff;
        unsigned long cssel;
        unsigned long dataoff;
        unsigned long datasel;
        struct _fpreg _st[8];
        unsigned short status;
        unsigned short magic;


        unsigned long _fxsr_env[6];
        unsigned long mxcsr;
        unsigned long reserved;
        struct _fpxreg _fxsr_st[8];
        struct _xmmreg _xmm[8];
        unsigned long padding[56];
};



struct sigcontext {
        unsigned short gs, __gsh;
        unsigned short fs, __fsh;
        unsigned short es, __esh;
        unsigned short ds, __dsh;
        unsigned long edi;
        unsigned long esi;
        unsigned long ebp;
        unsigned long esp;
        unsigned long ebx;
        unsigned long edx;
        unsigned long ecx;
        unsigned long eax;
        unsigned long trapno;
        unsigned long err;
        unsigned long eip;
        unsigned short cs, __csh;
        unsigned long eflags;
        unsigned long esp_at_signal;
        unsigned short ss, __ssh;
        struct _fpstate * fpstate;
        unsigned long oldmask;
        unsigned long cr2;
};
# 29 "/usr/include/bits/sigcontext.h" 2 3
# 308 "/usr/include/signal.h" 2 3


extern int sigreturn (struct sigcontext *__scp) ;
# 320 "/usr/include/signal.h" 3
extern int siginterrupt (int __sig, int __interrupt) ;

# 1 "/usr/include/bits/sigstack.h" 1 3
# 26 "/usr/include/bits/sigstack.h" 3
struct sigstack
  {
    void *ss_sp;
    int ss_onstack;
  };



enum
{
  SS_ONSTACK = 1,

  SS_DISABLE

};
# 50 "/usr/include/bits/sigstack.h" 3
typedef struct sigaltstack
  {
    void *ss_sp;
    int ss_flags;
    size_t ss_size;
  } stack_t;
# 323 "/usr/include/signal.h" 2 3







extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) ;



extern int sigaltstack (__const struct sigaltstack *__restrict __ss,
                        struct sigaltstack *__restrict __oss) ;
# 358 "/usr/include/signal.h" 3
# 1 "/usr/include/bits/sigthread.h" 1 3
# 31 "/usr/include/bits/sigthread.h" 3
extern int pthread_sigmask (int __how,
                            __const __sigset_t *__restrict __newmask,
                            __sigset_t *__restrict __oldmask);


extern int pthread_kill (pthread_t __thread, int __signo) ;
# 359 "/usr/include/signal.h" 2 3






extern int __libc_current_sigrtmin (void) ;

extern int __libc_current_sigrtmax (void) ;
# 239 "gsftopk.c" 2
# 1 "/usr/include/fcntl.h" 1 3
# 240 "gsftopk.c" 2
# 1 "/usr/include/setjmp.h" 1 3
# 26 "/usr/include/setjmp.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/setjmp.h" 2 3



# 1 "/usr/include/bits/setjmp.h" 1 3
# 36 "/usr/include/bits/setjmp.h" 3
typedef int __jmp_buf[6];
# 31 "/usr/include/setjmp.h" 2 3
# 1 "/usr/include/bits/sigset.h" 1 3
# 32 "/usr/include/setjmp.h" 2 3


typedef struct __jmp_buf_tag
  {




    __jmp_buf __jmpbuf;
    int __mask_was_saved;
    __sigset_t __saved_mask;
  } jmp_buf[1];




extern int setjmp (jmp_buf __env) ;



extern int _setjmp (jmp_buf __env) ;




extern int __sigsetjmp (jmp_buf __env, int __savemask) ;
# 73 "/usr/include/setjmp.h" 3
extern void longjmp (jmp_buf __env, int __val)
             __attribute__ ((__noreturn__));




extern void _longjmp (jmp_buf __env, int __val)
             __attribute__ ((__noreturn__));







typedef jmp_buf sigjmp_buf;
# 98 "/usr/include/setjmp.h" 3
extern void siglongjmp (sigjmp_buf __env, int __val)
             __attribute__ ((__noreturn__));
# 241 "gsftopk.c" 2


# 1 "/usr/include/sys/time.h" 1 3
# 22 "/usr/include/sys/time.h" 3
# 1 "/usr/include/features.h" 1 3
# 23 "/usr/include/sys/time.h" 2 3

# 1 "/usr/include/bits/types.h" 1 3
# 25 "/usr/include/sys/time.h" 2 3

# 1 "/usr/include/time.h" 1 3
# 27 "/usr/include/sys/time.h" 2 3

# 1 "/usr/include/bits/time.h" 1 3
# 29 "/usr/include/sys/time.h" 2 3

# 1 "/usr/include/sys/select.h" 1 3
# 31 "/usr/include/sys/time.h" 2 3
# 56 "/usr/include/sys/time.h" 3
struct timezone
  {
    int tz_minuteswest;
    int tz_dsttime;
  };

typedef struct timezone *__restrict __timezone_ptr_t;
# 72 "/usr/include/sys/time.h" 3
extern int gettimeofday (struct timeval *__restrict __tv,
                         __timezone_ptr_t __tz) ;




extern int settimeofday (__const struct timeval *__tv,
                         __const struct timezone *__tz) ;





extern int adjtime (__const struct timeval *__delta,
                    struct timeval *__olddelta) ;




enum __itimer_which
  {

    ITIMER_REAL = 0,


    ITIMER_VIRTUAL = 1,



    ITIMER_PROF = 2

  };



struct itimerval
  {

    struct timeval it_interval;

    struct timeval it_value;
  };






typedef int __itimer_which_t;




extern int getitimer (__itimer_which_t __which,
                      struct itimerval *__value) ;




extern int setitimer (__itimer_which_t __which,
                      __const struct itimerval *__restrict __new,
                      struct itimerval *__restrict __old) ;



extern int utimes (__const char *__file, __const struct timeval __tvp[2])
            ;
# 244 "gsftopk.c" 2
# 1 "/usr/include/time.h" 1 3
# 28 "/usr/include/time.h" 3
# 1 "/usr/include/features.h" 1 3
# 29 "/usr/include/time.h" 2 3
# 38 "/usr/include/time.h" 3
# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stddef.h" 1 3
# 39 "/usr/include/time.h" 2 3



# 1 "/usr/include/bits/time.h" 1 3
# 39 "/usr/include/bits/time.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 40 "/usr/include/bits/time.h" 2 3
extern long int __sysconf (int);
# 43 "/usr/include/time.h" 2 3
# 56 "/usr/include/time.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 57 "/usr/include/time.h" 2 3


typedef __clock_t clock_t;
# 118 "/usr/include/time.h" 3
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;
# 163 "/usr/include/time.h" 3
extern clock_t clock (void) ;


extern time_t time (time_t *__timer) ;


extern double difftime (time_t __time1, time_t __time0)
             __attribute__ ((__const__));


extern time_t mktime (struct tm *__tp) ;





extern size_t strftime (char *__restrict __s, size_t __maxsize,
                        __const char *__restrict __format,
                        __const struct tm *__restrict __tp) ;
# 194 "/usr/include/time.h" 3
extern struct tm *gmtime (__const time_t *__timer) ;



extern struct tm *localtime (__const time_t *__timer) ;




extern struct tm *gmtime_r (__const time_t *__restrict __timer,
                            struct tm *__restrict __tp) ;



extern struct tm *localtime_r (__const time_t *__restrict __timer,
                               struct tm *__restrict __tp) ;




extern char *asctime (__const struct tm *__tp) ;


extern char *ctime (__const time_t *__timer) ;






extern char *asctime_r (__const struct tm *__restrict __tp,
                        char *__restrict __buf) ;


extern char *ctime_r (__const time_t *__restrict __timer,
                      char *__restrict __buf) ;




extern char *__tzname[2];
extern int __daylight;
extern long int __timezone;




extern char *tzname[2];



extern void tzset (void) ;



extern int daylight;
extern long int timezone;





extern int stime (__const time_t *__when) ;
# 271 "/usr/include/time.h" 3
extern time_t timegm (struct tm *__tp) ;


extern time_t timelocal (struct tm *__tp) ;


extern int dysize (int __year) __attribute__ ((__const__));





extern int nanosleep (__const struct timespec *__requested_time,
                      struct timespec *__remaining) ;



extern int clock_getres (clockid_t __clock_id, struct timespec *__res) ;


extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) ;


extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
            ;
# 309 "/usr/include/time.h" 3
extern int timer_create (clockid_t __clock_id,
                         struct sigevent *__restrict __evp,
                         timer_t *__restrict __timerid) ;


extern int timer_delete (timer_t __timerid) ;


extern int timer_settime (timer_t __timerid, int __flags,
                          __const struct itimerspec *__restrict __value,
                          struct itimerspec *__restrict __ovalue) ;


extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
            ;


extern int timer_getoverrun (timer_t __timerid) ;
# 245 "gsftopk.c" 2
# 273 "gsftopk.c"
# 1 "/usr/include/sys/wait.h" 1 3
# 26 "/usr/include/sys/wait.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/sys/wait.h" 2 3



# 1 "/usr/include/signal.h" 1 3
# 31 "/usr/include/sys/wait.h" 2 3
# 1 "/usr/include/sys/resource.h" 1 3
# 22 "/usr/include/sys/resource.h" 3
# 1 "/usr/include/features.h" 1 3
# 23 "/usr/include/sys/resource.h" 2 3


# 1 "/usr/include/bits/resource.h" 1 3
# 24 "/usr/include/bits/resource.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 25 "/usr/include/bits/resource.h" 2 3







enum __rlimit_resource
{

  RLIMIT_CPU = 0,



  RLIMIT_FSIZE = 1,



  RLIMIT_DATA = 2,



  RLIMIT_STACK = 3,



  RLIMIT_CORE = 4,






  RLIMIT_RSS = 5,



  RLIMIT_NOFILE = 7,
  RLIMIT_OFILE = RLIMIT_NOFILE,




  RLIMIT_AS = 9,



  RLIMIT_NPROC = 6,



  RLIMIT_MEMLOCK = 8,



  RLIMIT_LOCKS = 10,


  RLIMIT_NLIMITS = 11,
  RLIM_NLIMITS = RLIMIT_NLIMITS


};
# 107 "/usr/include/bits/resource.h" 3
typedef __rlim_t rlim_t;







struct rlimit
  {

    rlim_t rlim_cur;

    rlim_t rlim_max;
  };
# 134 "/usr/include/bits/resource.h" 3
enum __rusage_who
{

  RUSAGE_SELF = 0,



  RUSAGE_CHILDREN = -1,



  RUSAGE_BOTH = -2

};


# 1 "/usr/include/bits/time.h" 1 3
# 151 "/usr/include/bits/resource.h" 2 3


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
# 43 "/usr/include/sys/resource.h" 3
typedef int __rlimit_resource_t;
typedef int __rusage_who_t;
typedef int __priority_which_t;





extern int getrlimit (__rlimit_resource_t __resource,
                      struct rlimit *__rlimits) ;
# 71 "/usr/include/sys/resource.h" 3
extern int setrlimit (__rlimit_resource_t __resource,
                      __const struct rlimit *__rlimits) ;
# 89 "/usr/include/sys/resource.h" 3
extern int getrusage (__rusage_who_t __who, struct rusage *__usage) ;





extern int getpriority (__priority_which_t __which, id_t __who) ;



extern int setpriority (__priority_which_t __which, id_t __who, int __prio)
            ;
# 32 "/usr/include/sys/wait.h" 2 3





# 1 "/usr/include/bits/waitflags.h" 1 3
# 38 "/usr/include/sys/wait.h" 2 3
# 62 "/usr/include/sys/wait.h" 3
typedef union
  {
    union wait *__uptr;
    int *__iptr;
  } __WAIT_STATUS __attribute__ ((__transparent_union__));
# 79 "/usr/include/sys/wait.h" 3
# 1 "/usr/include/bits/waitstatus.h" 1 3
# 63 "/usr/include/bits/waitstatus.h" 3
# 1 "/usr/include/endian.h" 1 3
# 64 "/usr/include/bits/waitstatus.h" 2 3

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;
  };
# 80 "/usr/include/sys/wait.h" 2 3
# 98 "/usr/include/sys/wait.h" 3
typedef enum
{
  P_ALL,
  P_PID,
  P_PGID
} idtype_t;





extern __pid_t wait (__WAIT_STATUS __stat_loc) ;
# 129 "/usr/include/sys/wait.h" 3
extern __pid_t waitpid (__pid_t __pid, int *__stat_loc, int __options) ;



# 1 "/usr/include/bits/siginfo.h" 1 3
# 25 "/usr/include/bits/siginfo.h" 3
# 1 "/usr/include/bits/wordsize.h" 1 3
# 26 "/usr/include/bits/siginfo.h" 2 3
# 134 "/usr/include/sys/wait.h" 2 3
# 142 "/usr/include/sys/wait.h" 3
extern int waitid (idtype_t __idtype, __id_t __id, siginfo_t *__infop,
                   int __options) ;





struct rusage;






extern __pid_t wait3 (__WAIT_STATUS __stat_loc, int __options,
                      struct rusage * __usage) ;





struct rusage;


extern __pid_t wait4 (__pid_t __pid, __WAIT_STATUS __stat_loc, int __options,
                      struct rusage *__usage) ;
# 274 "gsftopk.c" 2
# 307 "gsftopk.c"
# 1 "/usr/include/poll.h" 1 3
# 1 "/usr/include/sys/poll.h" 1 3
# 23 "/usr/include/sys/poll.h" 3
# 1 "/usr/include/features.h" 1 3
# 24 "/usr/include/sys/poll.h" 2 3


# 1 "/usr/include/bits/poll.h" 1 3
# 27 "/usr/include/sys/poll.h" 2 3



typedef unsigned long int nfds_t;


struct pollfd
  {
    int fd;
    short int events;
    short int revents;
  };
# 48 "/usr/include/sys/poll.h" 3
extern int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout) ;
# 2 "/usr/include/poll.h" 2 3
# 308 "gsftopk.c" 2
# 352 "gsftopk.c"
# 1 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stdarg.h" 1 3
# 110 "/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stdarg.h" 3
typedef __gnuc_va_list va_list;
# 353 "gsftopk.c" 2





typedef char Boolean;
# 371 "gsftopk.c"
typedef int wide_bool;
# 389 "gsftopk.c"
char progname[] = "gsftopk(k) ";


char version[] = "1.17";







Boolean test = 0;
char *fontname;
int fontlen;
char *mapline = ((void *)0);
const char *mapfile = ((void *)0);
const char *gspath = "gs";
Boolean dosnames = 0;
Boolean quiet = 0;

struct option {
        const char *longname;
        short shortname;
        Boolean has_arg;
        void *addr;
        int value;
};

static const struct option options[] = {
                {"test", 't', 0, &test, 1},
                {"mapline", 0, 1, &mapline, 0},
                {"mapfile", 0, 1, &mapfile, 0},
                {"interpreter", 'i', 1, &gspath, 0},
                {"dosnames", 0, 0, &dosnames, 1},
                {"quiet", 'q', 0, &quiet, 1},

                {"debug", 0x101,1, ((void *)0), 0},

                {"version", 'v', 0, ((void *)0), 0},
                {"help", 'h', 0, ((void *)0), 0}};

FILE *pk_file = ((void *)0);
char *xfilename;
int col = 0;
const char *specinfo = "";
pid_t gs_pid = 0;
# 443 "gsftopk.c"
const char *config_file_header_path = ((void *)0);


struct p_list {
        struct p_list *next;
        const char *value;
};



struct p_list psfonts_map = {((void *)0), "psfonts.map"};

struct p_list *p_head = &psfonts_map;
struct p_list **p_tail = &psfonts_map.next;





Boolean data_eof = 0;





typedef unsigned char byte;

int data_fd;
byte buffer[512];
byte *data_out = buffer;
byte *data_end = buffer;
# 488 "gsftopk.c"
int tfm_lengths[12];





long checksum;
long design;
byte width_index[256];
long tfm_widths[256];





byte *bitmap;
int width;
int skip;
int height;
int hoff;
int voff;
int bytes_wide;
unsigned int bm_size;
byte *bitmap_end;
int pk_len;







volatile void
exit_toto_too (void)
{
        if (gs_pid != 0)



            kill(gs_pid, 9);

        if (pk_file != ((void *)0)) {
            kpse_fclose_trace(pk_file);
            if (unlink(xfilename) != 0) perror("unlink");
        }
        _exit(1);
}
# 544 "gsftopk.c"
volatile void
oops(const char *message, ...)






{



        va_list args;


        __builtin_stdarg_start((args),message);




        if (col != 0) putchar('\n');
        vfprintf(stderr, message, args);
        __builtin_va_end(args);
        _IO_putc ('\n', stderr);
        exit_toto_too();
}






volatile void
opt_oops(const char *message, ...)






{



        va_list args;


        __builtin_stdarg_start((args),message);




        fputs("gsftopk: ", stderr);
        vfprintf(stderr, message, args);
        __builtin_va_end(args);
        fputs("\nTry `gsftopk --help' for more information.\n", stderr);
        exit(1);
}
# 644 "gsftopk.c"
char *
get_one_arg (const char * src)
{
        char *dest;
        const char *arg_end;
        const char *p;
        unsigned int len;

        len = strlen(src);
        p = memchr(src, ' ', len);
        if (p != ((void *)0)) len = p - src;
        p = memchr(src, '\t', len);
        if (p != ((void *)0)) len = p - src;

        dest = xmalloc(len + 1);
        memcpy(dest, src, len);
        dest[len] = '\0';

        return dest;
}







static Boolean got_sigchld = 0;
# 701 "gsftopk.c"
static void
handle_sigchild (int signo)
{
        got_sigchld = 1;
}


static void
handle_sigterm (int signo)
{
        exit_toto_too();
}





typedef int gsf_wait_t;

static void
wait_for_gs (void)
{
        gsf_wait_t status;
# 750 "gsftopk.c"
        got_sigchld = 0;

        for (;;) {
            if (wait(&status) != -1) break;

            if ((*__errno_location ()) != 4) {
                perror("wait");
                exit_toto_too();
            }
        }

        if (((((__extension__ ({ union { __typeof(status) __in; int __i; } __u; 
__u.__in = (status); __u.__i; }))) & 0xff) == 0x7f))
            return;

        gs_pid = 0;

        if ((__extension__ ({ int __status = ((__extension__ ({ union { 
__typeof(status) __in; int __i; } __u; __u.__in = (status); __u.__i; }))); 
!(((__status) & 0xff) == 0x7f) && !(((__status) & 0x7f) == 0); })))
            oops("gs died due to signal %d\n", (((__extension__ ({ union { 
__typeof(status) __in; int __i; } __u; __u.__in = (status); __u.__i; }))) & 0x7f));


        if (((((__extension__ ({ union { __typeof(status) __in; int __i; } __u; 
__u.__in = (status); __u.__i; }))) & 0xff00) >> 8) != 0)
            oops("gs terminated abnormally with status %d\n",
              ((((__extension__ ({ union { __typeof(status) __in; int __i; } __u; 
__u.__in = (status); __u.__i; }))) & 0xff00) >> 8));



}
# 799 "gsftopk.c"
static void
data_fillbuf (void)
{
        int n;



        static struct pollfd poll_fd = {0, 0x001, 0};






        if (data_eof)
            return;



        if (!(gs_pid == 0)) {
            for (;;) {
                if (!got_sigchld) {

                    poll_fd.fd = data_fd;
                    poll_fd.revents = 0;
                    if (poll(&poll_fd, 1, 5000) == -1) {
                        if ((*__errno_location ()) != 4) {
                            perror("poll");
                            sleep(4);
                        }
                        continue;
                    }
# 845 "gsftopk.c"
                }
                if (got_sigchld) {
                    wait_for_gs();
                    break;
                }
                if ((poll_fd.revents & 0x001 != 0))
                    break;
            }
        }




        for (;;) {
            n = read(data_fd, (void *) (data_out = buffer), 512);
            if (n >= 0)
                break;
            if ((*__errno_location ()) == 4)
                continue;
            if ((gs_pid == 0) && (*__errno_location ()) == 11) {
                n = 0;
                break;
            }
            perror("read from gs");
            sleep(4);
        }

        data_end = data_out + n;
        if (n == 0)
            data_eof = 1;
}

static byte
data_fgetc (void)
{
        if (data_out >= data_end)
            data_fillbuf();

        return data_eof ? (-1) : *data_out++;
}



static void
data_ungetc (byte c)
{
        if (data_out <= buffer)
            oops("Too many calls to data_ungetc()");

        *--data_out = c;
}

static int
data_read (byte * buf, int n)
{
        byte *buf1 = buf;
        byte *buf_end = buf + n;
        int n1;

        if (buf1 >= buf_end)
            return 0;

        while (!data_eof) {
            n1 = buf_end - buf1;
            if (n1 > data_end - data_out)
                n1 = data_end - data_out;
            memcpy(buf1, data_out, n1);
            buf1 += n1;
            data_out += n1;
            if (buf1 >= buf_end) break;
            data_fillbuf();
        }

        return buf1 - buf;
}

static void
data_gets (byte * buf, int n)
{
        byte *buf1 = buf;
        byte *buf_end = buf + n - 1;
        int n1;
        byte *p1;

        if (n <= 0)
            return;

        for (;;) {
            if (data_eof)
                oops("Premature end of file");
            n1 = buf_end - buf1;
            if (n1 > data_end - data_out)
                n1 = data_end - data_out;
            p1 = (byte *) memchr((char *) data_out, '\n', n1);
            if (p1 != ((void *)0))
                n1 = p1 + 1 - data_out;
            memcpy((char *) buf1, (char *) data_out, n1);
            buf1 += n1;
            data_out += n1;
            if (p1 != ((void *)0) || buf1 >= buf_end) break;
            data_fillbuf();
        }

        *buf1 = '\0';

        return;
}
# 963 "gsftopk.c"
static char *searchpath;




struct spacenode {
        struct spacenode *next;
        char *sp_end;
        char sp[(256 + 2)];
}
        firstnode;
# 1134 "gsftopk.c"
char *long_line = ((void *)0);
int long_line_len = 82;

Boolean
fgets_long (FILE * f)
{
        int len;

        if (fgets(long_line, long_line_len, f) == ((void *)0))
            return 0;

        len = 0;
        for (;;) {
            len += strlen(long_line + len);
            if (len > 0 && long_line[len - 1] == '\n') {
                long_line[--len] = '\0';
                break;
            }
            if (len < long_line_len - 1)
                break;
            long_line_len += 80;
            long_line = xrealloc(long_line, long_line_len);
            fgets(long_line + len, long_line_len - len, f);
        }

        return 1;
}


void



getdefaults (const char * name)

{

        FILE *f;

        char *p;
        char c;
        struct p_list *p_node;


        p = kpse_find_file(name, kpse_dvips_config_format, false);
        if (p == ((void *)0))
            return;

        f = kpse_fopen_trace(p, "r");
        if (f == ((void *)0))
            return;


        while (fgets_long(f)) {
            p = long_line;
            while (*p == ' ' || *p == '\t') ++p;
            c = *p;
            if (c == '\0')
                continue;
            do ++p;
            while (*p == ' ' || *p == '\t');
            switch (c) {
                case 'H':
                    config_file_header_path = get_one_arg(p);
                    break;

                case 'p':
                    if (*p == '+')
                        do ++p;
                        while (*p == ' ' || *p == '\t');
                    else
                        p_tail = &p_head;

                    p_node = xmalloc(sizeof *p_node);
                    p_node->value = get_one_arg(p);
                    *p_tail = p_node;
                    p_tail = &p_node->next;
                    break;
            }
        }

        kpse_fclose_trace(f);
}


Boolean
scan_map_file (FILE * f)
{
        while (fgets_long(f))
            if (memcmp(long_line, fontname, fontlen) == 0
              && (long_line[fontlen] == '\0' || (__ctype_b[(int) 
((long_line[fontlen]))] & (unsigned short int) _ISspace))) {
                kpse_fclose_trace(f);
                return 1;
            }

        kpse_fclose_trace(f);
        return 0;
}






char *dlstring = ((void *)0);
unsigned int dls_len = 0;
unsigned int dls_max = 0;

void
addtodls (const char * s)
{
        int len = strlen(s);

        if (dls_len + len >= dls_max) {
            unsigned int newsize = dls_max + 80;

            if (newsize <= dls_len + len) newsize = dls_len + len + 1;
            dlstring = xrealloc(dlstring, dls_max = newsize);
        }
        (__extension__ (__builtin_constant_p (s) ? (((size_t)(const void *)((s) + 1) - 
(size_t)(const void *)(s) == 1) && strlen (s) + 1 <= 8 ? __strcpy_small (dlstring + 
dls_len, __extension__ (((__const unsigned char *) (__const char *) (s))[0 + 1] << 8 | 
((__const unsigned char *) (__const char *) (s))[0]), __extension__ (((__const 
unsigned char *) (__const char *) (s))[4 + 1] << 8 | ((__const unsigned char *) 
(__const char *) (s))[4]), __extension__ (((((__const unsigned char *) (__const char 
*) (s))[0 + 3] << 8 | ((__const unsigned char *) (__const char *) (s))[0 + 2]) << 8 | 
((__const unsigned char *) (__const char *) (s))[0 + 1]) << 8 | ((__const unsigned 
char *) (__const char *) (s))[0]), __extension__ (((((__const unsigned char *) 
(__const char *) (s))[4 + 3] << 8 | ((__const unsigned char *) (__const char *) (s))[4 
+ 2]) << 8 | ((__const unsigned char *) (__const char *) (s))[4 + 1]) << 8 | ((__const 
unsigned char *) (__const char *) (s))[4]), strlen (s) + 1) : (char *) memcpy 
(dlstring + dls_len, s, strlen (s) + 1)) : strcpy (dlstring + dls_len, s)));
        dls_len += len;
}



long
getlong (FILE * f)
{
        int value;

        value = (int) ((byte) _IO_getc (f)) << 24;
        value |= (int) ((byte) _IO_getc (f)) << 16;
        value |= (int) ((byte) _IO_getc (f)) << 8;
        value |= (int) ((byte) _IO_getc (f));
        return value;
}


char line[82];

void
expect (const char * waitingfor)
{
        for (;;) {

            data_gets((byte *) line, sizeof(line));




            if (memcmp(line, waitingfor, strlen(waitingfor)) == 0) return;
            fputs("gs: ", stdout);
            for (;;) {
                fputs(line, stdout);
                if (*line == '\0' || line[strlen(line) - 1] == '\n') break;

                data_gets((byte *) line, sizeof(line));




            }
        }
}

void
whitespace (void)
{
        char c;

        for (;;) {
            c = (data_out < data_end ? *data_out++ : data_fgetc());
            if (c == '#')
                do c = (data_out < data_end ? *data_out++ : data_fgetc()); while 
(!data_eof && c != '\n');
            else if (!(__ctype_b[(int) ((c))] & (unsigned short int) _ISspace)) {
                data_ungetc(c);
                break;
            }
        }
}

int
getint (void)
{
        char c;
        int i = 0;

        do c = (data_out < data_end ? *data_out++ : data_fgetc()); while 
((__ctype_b[(int) ((c))] & (unsigned short int) _ISspace));
        if (c < '0' || c > '9') oops("digit expected");
        do {
            i = i * 10 + (c - '0');
            c = (data_out < data_end ? *data_out++ : data_fgetc());
        } while (c >= '0' && c <= '9');
        if (!data_eof) data_ungetc(c);
        return i;
}

static byte masks[] = {0, 1, 3, 7, 017, 037, 077, 0177, 0377};

byte flag;
int pk_dyn_f;
int pk_dyn_g;
int base;
int deltas[13];





static void
tallyup (int n)
{
        int m;

        if (n > 208) {
            ++base;
            n -= 192;
            for (m = 0x100; m != 0 && m < n; m <<= 4) base += 2;
            if (m != 0 && (m = (m - n) / 15) < 13) deltas[m] += 2;
        }
        else if (n > 13) ++deltas[(208 - n) / 15];
        else --deltas[n - 1];
}





static Boolean odd = 0;
static byte part;

static void
pk_put_nyb (int n)
{
        if (odd) {
            *bitmap_end++ = (part << 4) | n;
            odd = 0;
        }
        else {
            part = n;
            odd = 1;
        }
}

static void
pk_put_long (int n)
{
        if (n >= 16) {
            pk_put_nyb(0);
            pk_put_long(n / 16);
        }
        pk_put_nyb(n % 16);
}

static void
pk_put_count (int n)
{
        if (n > pk_dyn_f) {
            if (n > pk_dyn_g)
                pk_put_long(n - pk_dyn_g + 15);
            else {
                pk_put_nyb(pk_dyn_f + (n - pk_dyn_f + 15) / 16);
                pk_put_nyb((n - pk_dyn_f - 1) % 16);
            }
        }
        else pk_put_nyb(n);
}

static void
trim_bitmap (void)
{
        byte *p;
        byte mask;


        if (width % 8 != 0) {
            mask = ~masks[8 - width % 8];
            for (p = bitmap + bytes_wide - 1; p < bitmap_end; p += bytes_wide)
                *p &= mask;
        }






        skip = 0;
        mask = 0;
        for (;;) {
            if (bitmap >= bitmap_end) {
                width = height = hoff = voff = 0;
                return;
            }
            p = bitmap + bytes_wide;
            while (p > bitmap) mask |= *--p;
            if (mask) break;
            ++skip;
            bitmap += bytes_wide;
        }
        height -= skip;
        voff -= skip;
# 1444 "gsftopk.c"
        skip = 0;
        mask = 0;
        for (;;) {
            p = bitmap_end - bytes_wide;
            while (p < bitmap_end) mask |= *p++;
            if (mask) break;
            ++skip;
            bitmap_end -= bytes_wide;
        }
        height -= skip;
# 1463 "gsftopk.c"
        skip = 0;
        --width;
        for (;;) {
            mask = 0;
            for (p = bitmap + width / 8; p < bitmap_end; p += bytes_wide)
                mask |= *p;
            if (mask & (0x80 >> (width % 8))) break;
            --width;
            ++skip;
        }
        ++width;
# 1483 "gsftopk.c"
        skip = 0;
        for (;;) {
            mask = 0;
            for (p = bitmap + skip / 8; p < bitmap_end; p += bytes_wide)
                mask |= *p;
            if (mask & (0x80 >> (skip % 8))) break;
            ++skip;
        }
        width -= skip;
        hoff -= skip;







        bitmap += skip / 8;
        skip = skip % 8;
}






static Boolean
pk_rll_cvt (void)
{
        static int *counts = ((void *)0);
        static int maxcounts = 0;
        unsigned int ncounts;
        int *nextcount;
        int *counts_end;
        byte *rowptr;
        byte *p;
        byte mask;
        byte *rowdup;
        byte paint_switch;
        int bits_left;
        int cost;
        int i;





        ncounts = (width * height + 3) / 4;
        if (ncounts > maxcounts) {
            if (counts != ((void *)0)) free(counts);
            counts = xmalloc((ncounts + 2) * sizeof(int));
            maxcounts = ncounts;
        }
        counts_end = counts + ncounts;




        base = 0;
        bzero(deltas, sizeof(deltas));
        rowdup = ((void *)0);
        p = rowptr = bitmap;
        mask = 0x80 >> skip;
        flag = 0;
        paint_switch = 0;
        if (*p & mask) {
            flag = 8;
            paint_switch = 0xff;
        }
        bits_left = width;
        nextcount = counts;
        while (rowptr < bitmap_end) {
            int shift_count = bits_left;

            for (;;) {
                if (bits_left == 0) {
                    if ((p = rowptr += bytes_wide) >= bitmap_end) break;
                    mask = 0x80 >> skip;
                    bits_left = width;
                    shift_count += width;
                }
                if (((*p ^ paint_switch) & mask) != 0) break;
                --bits_left;
                mask >>= 1;
                if (mask == 0) {
                    ++p;
                    while (*p == paint_switch && bits_left >= 8) {
                        ++p;
                        bits_left -= 8;
                    }
                    mask = 0x80;
                }
            }
            if (nextcount >= counts_end) return 0;
            shift_count -= bits_left;
            *nextcount++ = shift_count;
            tallyup(shift_count);

            if (rowptr != rowdup && bits_left != width) {
                byte *p1 = rowptr;
                byte *q = rowptr + bytes_wide;
                int repeat_count;

                while (q < bitmap_end && *p1 == *q) ++p1, ++q;
                repeat_count = (p1 - rowptr) / bytes_wide;
                if (repeat_count > 0) {
                    *nextcount++ = -repeat_count;
                    if (repeat_count == 1) --base;
                    else {
                        ++base;
                        tallyup(repeat_count);
                    }
                    rowptr += repeat_count * bytes_wide;
                }
                rowdup = rowptr;
            }
            paint_switch = ~paint_switch;
        }
# 1630 "gsftopk.c"
        pk_dyn_f = 0;
        cost = base += 2 * (nextcount - counts);
        for (i = 1; i < 14; ++i) {
            base += deltas[i - 1];
            if (base < cost) {
                pk_dyn_f = i;
                cost = base;
            }
        }

        if (cost * 4 > width * height) return 0;





        pk_dyn_g = 208 - 15 * pk_dyn_f;
        flag |= pk_dyn_f << 4;
        bitmap_end = bitmap;
        *nextcount = 0;
        nextcount = counts;
        while (*nextcount != 0) {
            if (*nextcount > 0) pk_put_count(*nextcount);
            else
                if (*nextcount == -1) pk_put_nyb(15);
                else {
                    pk_put_nyb(14);
                    pk_put_count(-*nextcount);
                }
            ++nextcount;
        }
        if (odd) {
            pk_put_nyb(0);
            ++cost;
        }
        if (cost != 2 * (bitmap_end - bitmap))
            printf("Cost miscalculation:  expected %d, got %d\n", cost,
                2 * (bitmap_end - bitmap));
        pk_len = bitmap_end - bitmap;
        return 1;
}

static void
pk_bm_cvt (void)
{
        byte *rowptr;
        byte *p;
        int blib1;
        int bits_left;
        byte *q;
        int blib2;
        byte nextbyte;

        flag = 14 << 4;
        q = bitmap;
        blib2 = 8;
        nextbyte = 0;
        for (rowptr = bitmap; rowptr < bitmap_end; rowptr += bytes_wide) {
            p = rowptr;
            blib1 = 8 - skip;
            bits_left = width;
            if (blib2 != 8) {
                int n;

                if (blib1 < blib2) {
                    nextbyte |= *p << (blib2 - blib1);
                    n = blib1;
                }
                else {
                    nextbyte |= *p >> (blib1 - blib2);
                    n = blib2;
                }
                blib2 -= n;
                if ((bits_left -= n) < 0) {
                    blib2 -= bits_left;
                    continue;
                }
                if ((blib1 -= n) == 0) {
                    blib1 = 8;
                    ++p;
                    if (blib2 > 0) {
                        nextbyte |= *p >> (8 - blib2);
                        blib1 -= blib2;
                        bits_left -= blib2;
                        if (bits_left < 0) {
                            blib2 = -bits_left;
                            continue;
                        }
                    }
                }
                *q++ = nextbyte;
            }

            while (bits_left >= 8) {
                nextbyte = *p++ << (8 - blib1);
                *q++ = nextbyte | (*p >> blib1);
                bits_left -= 8;
            }

            nextbyte = *p << (8 - blib1);
            if (bits_left > blib1) nextbyte |= p[1] >> blib1;
            blib2 = 8 - bits_left;
        }
        if (blib2 != 8) *q++ = nextbyte;
        pk_len = q - bitmap;
}

static void
putshort (short w)
{
        _IO_putc (w >> 8, pk_file);
        _IO_putc (w, pk_file);
}

static void
putmed (long w)
{
        _IO_putc (w >> 16, pk_file);
        _IO_putc (w >> 8, pk_file);
        _IO_putc (w, pk_file);
}

static void
putlong (long w)
{
        _IO_putc (w >> 24, pk_file);
        _IO_putc (w >> 16, pk_file);
        _IO_putc (w >> 8, pk_file);
        _IO_putc (w, pk_file);
}

static void
putglyph (int cc)
{
        static Boolean have_first_line = 0;
        static int llx, lly, urx, ury;
        static float char_width;
        static byte *area1 = ((void *)0);
        static unsigned int size1 = 0;
        static int i;
        long dm;
        long tfm_wid;
        byte *p;

        if (!quiet) {
            int wid;
            static const char *s = "";

            wid = (cc >= 100) + (cc >= 10) + 4;
            if (col + wid > 80) {
                s = "\n";
                col = 0;
            }
            printf("%s[%d", s, cc);
            fflush(stdout);
            col += wid;
            s = " ";
        }
        if (!have_first_line) {
            expect("#^");
            if (sscanf(line, "#^ %d %d %d %d %d %f\n", &i,
                    &llx, &lly, &urx, &ury, &char_width) != 6)
                oops("Cannot scanf first line");
        }
        if (i < cc) oops("Character %d received, %d expected", i, cc);
        if (i > cc) {
            fprintf(stderr, "Character %d is missing.\n", cc);
            have_first_line = 1;
            return;
        }
        have_first_line = 0;
        hoff = -llx + 2;
        voff = ury + 2 - 1;
        expect("P4\n");
        whitespace();
        width = getint();
        whitespace();
        height = getint();
        (void) (data_out < data_end ? *data_out++ : data_fgetc());
        if (width != urx - llx + 4 || height != ury - lly + 4)
            oops("Dimensions do not match:  %d %d %d %d %d %d",
                llx, lly, urx, ury, width, height);
        bytes_wide = (width + 7) / 8;
        bm_size = bytes_wide * height;
        if (size1 < bm_size) {
            if (area1 != ((void *)0)) free(area1);
            area1 = xmalloc(bm_size);
            size1 = bm_size;
        }
        for (p = area1 + (height - 1) * bytes_wide; p >= area1; p -= bytes_wide)
            if (data_read(p, bytes_wide) != bytes_wide)
                oops("Cannot read bitmap of size %u", bm_size);
        bitmap = area1;
        bitmap_end = bitmap + bm_size;
        trim_bitmap();
        if (height == 0 || !pk_rll_cvt()) pk_bm_cvt();
        tfm_wid = tfm_widths[width_index[cc]];
        dm = (long) (char_width + 0.5) - (char_width < -0.5);
        if (pk_len + 8 < 4 * 256 && tfm_wid < (1<<24) &&
                dm >= 0 && dm < 256 && width < 256 && height < 256 &&
                hoff >= -128 && hoff < 128 && voff >= -128 && voff < 128) {
            _IO_putc (flag | ((pk_len + 8) >> 8), pk_file);
            _IO_putc (pk_len + 8, pk_file);
            _IO_putc (cc, pk_file);
            putmed(tfm_wid);
            _IO_putc (dm, pk_file);
            _IO_putc (width, pk_file);
            _IO_putc (height, pk_file);
            _IO_putc (hoff, pk_file);
            _IO_putc (voff, pk_file);
        } else
        if (pk_len + 13 < 3 * 65536L && tfm_wid < (1<<24) &&
                dm >= 0 && dm < 65536L && width < 65536L && height < 65536L &&
                hoff >= -65536L && hoff < 65536L &&
                voff >= -65536L && voff < 65536L) {
            _IO_putc (flag | 4 | ((pk_len + 13) >> 16), pk_file);
            putshort(pk_len + 13);
            _IO_putc (cc, pk_file);
            putmed(tfm_wid);
            putshort(dm);
            putshort(width);
            putshort(height);
            putshort(hoff);
            putshort(voff);
        }
        else {
            _IO_putc (flag | 7, pk_file);
            putlong(pk_len + 28);
            putlong(cc);
            putlong(tfm_wid);
            putlong((long) (char_width * 65536.0 + 0.5) - (char_width < -0.5));
            putlong(0);
            putlong(width);
            putlong(height);
            putlong(hoff);
            putlong(voff);
        }
        fwrite(bitmap, 1, pk_len, pk_file);
        if (!quiet) {
            putchar(']');
            fflush(stdout);
        }
}

static void
putspecl (const char * str1, const char * str2)
{
        int len1 = strlen(str1);
        int len2 = 0;

        if (str2 != ((void *)0)) len2 = strlen(str2);
        if (len1 + len2 > 255) return;
        _IO_putc ((char) 240, pk_file);
        _IO_putc (len1 + len2, pk_file);
        fwrite(str1, 1, len1, pk_file);
        if (len2 != 0) fwrite(str2, 1, len2, pk_file);
}
# 1920 "gsftopk.c"
int
main (int argc, char ** argv)
{
        FILE *config_file;
        FILE *render_ps;
        FILE *tfm_file;
        char **argp;
        float dpi;
        const char *dvipsrc;
        char *p;
        char *PSname = ((void *)0);
        char *specinf = ((void *)0);
        char *specp = ((void *)0);
        char charlist[10*2 + 90*3 + 156*4 + 1];
        char designstr[20];
        char dpistr[20];

        struct sigaction sigact;







        int std_out[2];

        int std_in[2];



        int cc;
        int ppp;
        int i;






        argp = argv;
        while (++argp < argv + argc && (*argp)[0] == '-') {
            const struct option *opt_ptr;
            const struct option *opt;
            char *arg = *argp + 1;

            if (*arg == '\0') --arg;
            if (*arg != '-') {
                opt = options;
                for (;;) {
                    if (*arg == opt->shortname)
                        break;
                    if (++opt >= options + (sizeof (options) / sizeof *(options)))
                        opt_oops("invalid option -- %c", *arg);
                }
                if (opt->has_arg) {
                    ++arg;
                    if (*arg == '\0') {
                        if (++argp >= argv + argc)
                            opt_oops("option requires an argument -- %c",
                              arg[-1]);
                        arg = *argp;
                    }
                }
                else {
                    if (arg[1] != '\0')
                        opt_oops("invalid number of bytes in option `%s'",
                          arg - 1);
                }
            }
            else {
                int len;
                char *arg1;

                ++arg;
                if (*arg == '\0') {
                    ++argp;
                    break;
                }
                len = strlen(arg);
                arg1 = memchr(arg, '=', len);
                if (arg1 != ((void *)0)) {
                    len = arg1 - arg;
                    ++arg1;
                }
                opt = ((void *)0);
                for (opt_ptr = options; opt_ptr < options + (sizeof (options) / sizeof 
*(options));
                  ++opt_ptr)
                    if (memcmp(arg, opt_ptr->longname, len) == 0) {
                        if (opt != ((void *)0))
                            opt_oops("option `%s' is ambiguous.", arg - 2);
                        opt = opt_ptr;
                    }
                if (opt == ((void *)0))
                    opt_oops("unrecognized option `%s'", arg - 2);
                if (opt->has_arg) {
                    if (arg1 == ((void *)0)) {
                        if (++argp >= argv + argc)
                            opt_oops("option `--%s' requires an argument.",
                              opt->longname);
                        arg1 = *argp;
                    }
                }
                else {
                    if (arg1 != ((void *)0))
                        opt_oops("option `--%s' doesn't allow an argument.",
                          opt->longname);
                }
                arg = arg1;
            }

            if (opt->addr != ((void *)0))
                if (opt->has_arg)
                    *((char **) opt->addr) = arg;
                else
                    *((Boolean *) opt->addr) = opt->value;

            switch (opt->shortname) {

            case 0x101:
                kpathsea_debug |= atoi(arg);

            case 'h':
# 2057 "gsftopk.c"
                puts("Usage:  gsftopk [OPTION] FONT DPI\nTranslate the PostScript Type 
1 font FONT to PK bitmap format at DPI dpi.\n\n  -t, --test              check for 
presence of font in .map file.\n  --mapline=LINE      use LINE as the line from the 
.map file.\n  --mapfile=FILE      use FILE as a .map file; default psfonts.map.\n  -i 
GS, --interpreter=GS  use GS as Ghostscript interpreter.\n  --dosnames              
short pk filename (cmr10.pk instead of cmr10.600pk).\n  -q, --quiet             don't 
print progress information to standard output.\n  --debug=NUM             set 
debugging flags.\n  -h, --help              print this message and exit.\n  -v, 
--version           print version number and exit.\n");
# 2071 "gsftopk.c"
                return 0;
            case 'v':



                {
                    extern char *kpathsea_version_string;

                    printf("gsftopk(k) %s\n", version);
                    puts(kpathsea_version_string);
                    puts("Copyright (C) 1993-1998 Paul Vojta.\nThere is NO warranty.  
You may redistribute this software\nunder the terms of the GNU General Public 
License\nand the standard X consortium copyright notice.\nFor more information about 
these matters, see the files\nnamed COPYING and gsftopk.c.\nAuthor of gsftopk: Paul 
Vojta.");






                }

                return 0;
            }
        }

        if (mapfile != ((void *)0) && mapline != ((void *)0))
            opt_oops("cannot specify both `--mapline' and `--mapfile'");

        if (argp >= argv + argc)
            opt_oops(test ? "must provide a font name"
              : "must provide a font name and resolution");

        fontname = *argp++;
        fontlen = strlen(fontname);

        if (argp >= argv + argc) {
            if (!test)
                opt_oops("must provide rendering resolution");
            dpi = 0.0;
        }
        else {
            dpi = atof(*argp++);
            if (dpi <= 0.0)
                opt_oops("DPI argument `%s' must be a positive number", *argp);
        }

        if (argp < argv + argc)
            opt_oops("no more than two arguments are allowed");


        kpse_set_progname(argv[0]);
        kpse_init_prog("GSFTOPK", (int) (dpi + 0.5), ((void *)0), "cmr10");
        if (!test)
            xputenv_int("KPATHSEA_DPI", (int) (dpi + 0.5));
# 2137 "gsftopk.c"
        long_line = xmalloc(long_line_len);
# 2164 "gsftopk.c"
        getdefaults("config.ps");

        dvipsrc = kpse_var_value("DVIPSRC");
        getdefaults(dvipsrc != ((void *)0) ? dvipsrc : "$HOME/.dvipsrc");

        getdefaults("config.gsftopk");



        if (config_file_header_path != ((void *)0))
            kpse_format_info[kpse_tex_ps_header_format].client_path
              = config_file_header_path;






        if (mapline != ((void *)0)) {
            if (memcmp(mapline, fontname, fontlen) != 0
              || (mapline[fontlen] != '\0' && !(__ctype_b[(int) ((mapline[fontlen]))] 
& (unsigned short int) _ISspace)))
                oops("font name does not match --mapline argument");
        }
        else {
            Boolean font_found;

            if (mapfile != ((void *)0)) {
                config_file = kpse_fopen_trace(mapfile, "r");
                if (config_file == ((void *)0)) {
                    perror(mapfile);
                    exit(1);
                }
                font_found = scan_map_file(config_file);
            }
            else {
                struct p_list *p_node;

                font_found = 0;
                *p_tail = ((void *)0);
                for (p_node = p_head; p_node != ((void *)0); p_node = p_node->next) {




                    config_file = kpse_open_file(p_node->value,
                      kpse_dvips_config_format);

                    if (config_file != ((void *)0))
                        if (scan_map_file(config_file)) {
                            font_found = 1;
                            break;
                        }
                }
            }

            if (!font_found)
                if (test)
                    exit(1);
                else
                    oops("Cannot find font %s in map file(s).", fontname);

            mapline = long_line;
        }

        if (test)
            exit(0);

        if (!quiet) {
            printf("%sversion %s", progname, version);
            fflush(stdout);
            col = 1;
        }




        for (p = mapline + fontlen; *p != '\0'; ++p) {
            if ((__ctype_b[(int) ((*p))] & (unsigned short int) _ISspace)) continue;
            if (*p == '<') {
                char *q;
                char endc;
                char c;
                FILE *f;

                ++p;

                if (*p == '<') ++p;

                if (*p == '[') ++p;
                q = p;
                while (*p != '\0' && !(__ctype_b[(int) ((*p))] & (unsigned short int) 
_ISspace)) ++p;
                endc = *p;
                *p = '\0';

                searchpath = kpse_find_file(q, kpse_tex_ps_header_format,true);
                f = searchpath ? kpse_fopen_trace(searchpath, "r") : ((void *)0);



                if (f == ((void *)0)) oops("Cannot find font file %s", q);

                addtodls(" (");
                addtodls(searchpath);
                c = _IO_getc (f);
                addtodls(c == '\0' ? ") ttload"
                  : c == '\200' ? ") brun"
                  : ") run");
                kpse_fclose_trace(f);
                if (endc == '\0') break;
                continue;
            }
            else if (*p == '"') {
                char *q;

                if (specinf != ((void *)0))
                    *specp++ = ' ';
                else
                    specinf = specp = xmalloc(strlen(p));
                ++p;
                q = (__extension__ (__builtin_constant_p ('"') && ('"') == '\0' ? 
(char *) __rawmemchr (p, '"') : strchr (p, '"')));
                if (q == ((void *)0)) q = p + strlen(p);
                memcpy(specp, p, q - p);
                specp += q - p;
                p = q;
                if (*p == '\0') break;
                else continue;
            }
            else {
                PSname = p;
                while (*p != '\0' && !(__ctype_b[(int) ((*p))] & (unsigned short int) 
_ISspace)) ++p;
                if (*p == '\0') break;
            }
            *p = '\0';
        }
# 2309 "gsftopk.c"
        if (specinf != ((void *)0)) {
            *specp = '\0';
            specinfo = specinf;
        }






        searchpath = kpse_find_file("render.ps", kpse_tex_ps_header_format,
                                    true);
        render_ps = searchpath ? kpse_fopen_trace (searchpath, "r") : ((void *)0);




        if (render_ps == ((void *)0))
            oops("Cannot find PS driver file \"render.ps\".");
        kpse_fclose_trace(render_ps);

        sprintf(dpistr, "%f", dpi);
# 2444 "gsftopk.c"
        if (pipe(std_in) != 0 || pipe(std_out) != 0) {
            perror("pipe");
            return 1;
        }




        sigact.__sigaction_handler.sa_handler = handle_sigchild;
        (void) sigemptyset(&sigact.sa_mask);
        sigact.sa_flags = 1;
        (void) sigaction(17, &sigact, (struct sigaction *) ((void *)0));
# 2465 "gsftopk.c"
        (void) signal(1, handle_sigterm);
        (void) signal(2, handle_sigterm);
        (void) signal(3, handle_sigterm);
        (void) signal(15, handle_sigterm);

        fflush(stderr);
        gs_pid = vfork();
        if (gs_pid == 0) {
            close(std_in[1]);
            dup2(std_in[0], 0);
            close(std_in[0]);
            close(std_out[0]);
            dup2(std_out[1], 1);
            close(std_out[1]);
            execlp(gspath, "gs", "-dNODISPLAY", "-dNOGC", "-q", "--",
                                searchpath,
                PSname != ((void *)0) ? PSname : fontname,
                dlstring != ((void *)0) ? dlstring : "", specinfo, dpistr, ((void 
*)0));
            if (col != 0) {
                _IO_putc ('\n', stderr);
                col = 0;
            }
            perror(gspath);
            exit(1);
        }
        if (gs_pid == -1) {
            perror("fork");
            exit(1);
        }
# 2502 "gsftopk.c"
        xfilename = xmalloc(fontlen + 10);
        (__extension__ (__builtin_constant_p (fontname) ? (((size_t)(const void 
*)((fontname) + 1) - (size_t)(const void *)(fontname) == 1) && strlen (fontname) + 1 
<= 8 ? __strcpy_small (xfilename, __extension__ (((__const unsigned char *) (__const 
char *) (fontname))[0 + 1] << 8 | ((__const unsigned char *) (__const char *) 
(fontname))[0]), __extension__ (((__const unsigned char *) (__const char *) 
(fontname))[4 + 1] << 8 | ((__const unsigned char *) (__const char *) (fontname))[4]), 
__extension__ (((((__const unsigned char *) (__const char *) (fontname))[0 + 3] << 8 | 
((__const unsigned char *) (__const char *) (fontname))[0 + 2]) << 8 | ((__const 
unsigned char *) (__const char *) (fontname))[0 + 1]) << 8 | ((__const unsigned char 
*) (__const char *) (fontname))[0]), __extension__ (((((__const unsigned char *) 
(__const char *) (fontname))[4 + 3] << 8 | ((__const unsigned char *) (__const char *) 
(fontname))[4 + 2]) << 8 | ((__const unsigned char *) (__const char *) (fontname))[4 + 
1]) << 8 | ((__const unsigned char *) (__const char *) (fontname))[4]), strlen 
(fontname) + 1) : (char *) memcpy (xfilename, fontname, strlen (fontname) + 1)) : 
strcpy (xfilename, fontname)));





        tfm_file = kpse_open_file(xfilename, kpse_tfm_format);





        if (tfm_file == ((void *)0)) oops("Cannot find tfm file.");
        for (i = 0; i < 12; ++i) {
            int j;

            j = (int) ((byte) _IO_getc (tfm_file)) << 8;
            tfm_lengths[i] = j | (int) ((byte) _IO_getc (tfm_file));
        }
        checksum = getlong(tfm_file);
        design = getlong(tfm_file);
        fseek(tfm_file, 4 * (tfm_lengths[1] + 6), 0);
        p = charlist;
        for (cc = tfm_lengths[2]; cc <= tfm_lengths[3]; ++cc) {
            width_index[cc] = (byte) _IO_getc (tfm_file);
            if (width_index[cc] != 0) {
                sprintf(p, "%d ", cc);
                p += strlen(p);
            }
            (void) _IO_getc (tfm_file);
            (void) _IO_getc (tfm_file);
            (void) _IO_getc (tfm_file);
        }
        for (i = 0; i < tfm_lengths[4]; ++i) tfm_widths[i] = getlong(tfm_file);
        kpse_fclose_trace(tfm_file);
        p[-1] = '\n';


        sprintf(designstr, "%f\n", (float) design / (1 << 20));
        write(std_in[1], designstr, strlen(designstr));
        write(std_in[1], charlist, p - charlist);
        close(std_in[1]);
# 2556 "gsftopk.c"
        data_fd = std_out[0];
# 2565 "gsftopk.c"
        if (fcntl(data_fd, 4, fcntl(data_fd, 3, 0) | 04000)
          == -1)
            perror("fcntl");






        if (dosnames)
            (__extension__ (__builtin_constant_p (".pk") ? (((size_t)(const void 
*)((".pk") + 1) - (size_t)(const void *)(".pk") == 1) && strlen (".pk") + 1 <= 8 ? 
__strcpy_small (xfilename + fontlen, __extension__ (((__const unsigned char *) 
(__const char *) (".pk"))[0 + 1] << 8 | ((__const unsigned char *) (__const char *) 
(".pk"))[0]), __extension__ (((__const unsigned char *) (__const char *) (".pk"))[4 + 
1] << 8 | ((__const unsigned char *) (__const char *) (".pk"))[4]), __extension__ 
(((((__const unsigned char *) (__const char *) (".pk"))[0 + 3] << 8 | ((__const 
unsigned char *) (__const char *) (".pk"))[0 + 2]) << 8 | ((__const unsigned char *) 
(__const char *) (".pk"))[0 + 1]) << 8 | ((__const unsigned char *) (__const char *) 
(".pk"))[0]), __extension__ (((((__const unsigned char *) (__const char *) (".pk"))[4 
+ 3] << 8 | ((__const unsigned char *) (__const char *) (".pk"))[4 + 2]) << 8 | 
((__const unsigned char *) (__const char *) (".pk"))[4 + 1]) << 8 | ((__const unsigned 
char *) (__const char *) (".pk"))[4]), strlen (".pk") + 1) : (char *) memcpy 
(xfilename + fontlen, ".pk", strlen (".pk") + 1)) : strcpy (xfilename + fontlen, 
".pk")));
        else
            sprintf(xfilename + fontlen, ".%dpk", (int) (dpi + 0.5));

        if ((pk_file = kpse_fopen_trace(xfilename, "w")) == ((void *)0)) {
            perror(xfilename);
            exit_toto_too();
        }
        _IO_putc ((char) 247, pk_file);
        _IO_putc ((char) 89, pk_file);
        expect("V");
        i = strlen(line) - 2;
        if (i < 0 || i > 10) i = 0;
        line[1] = '/';
        if (!quiet) {
            if (i > 0) fwrite(line + 1, 1, i, stdout);
            putchar('\n');
            col = 0;
        }
        _IO_putc (sizeof(progname) + sizeof(version) + i - 2, pk_file);
        fwrite(progname, 1, sizeof(progname) - 1, pk_file);
        fwrite(version, 1, sizeof(version) - 1, pk_file);
        if (i >= 0) {
            fwrite(line + 1, 1, i, pk_file);
        }
        putlong(design);
        putlong(checksum);
        ppp = dpi / 72.27 * 65536.0 + 0.5;
        putlong(ppp);
        putlong(ppp);





        for (cc = tfm_lengths[2]; cc <= tfm_lengths[3]; ++cc)
            if (width_index[cc] != 0)
                putglyph(cc);

        close(data_fd);
# 2631 "gsftopk.c"
        if (!(gs_pid == 0))
            wait_for_gs();
# 2643 "gsftopk.c"
        putspecl("jobname=", fontname);
        putspecl("mag=1", ((void *)0));
        putspecl("mode=modeless", ((void *)0));
        sprintf(dpistr, "%d", (int) dpi);
        putspecl("pixels_per_inch=", dpistr);





        _IO_putc ((char) 245, pk_file);
        while (ftell(pk_file) % 4 != 0) _IO_putc ((char) 246, pk_file);
        kpse_fclose_trace(pk_file);
        if (!quiet) putchar('\n');
        col = 0;
# 2671 "gsftopk.c"
        return 0;
}
./../klibtool link gcc -o gsftopk   gsftopk.o  ../kpathsea/libkpathsea.la  -lm 
gcc -o gsftopk gsftopk.o ../kpathsea/STATIC/libkpathsea.a -lm
make[1]: Leaving directory `/usr/local/src/teTeX-1.0/texk/gsftopk'

Reply via email to