bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: m4 1.4.1.3


From: Elbert_Pol
Subject: Re: m4 1.4.1.3
Date: Fri, 03 Apr 2009 07:19:24 +0200
User-agent: Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.9.1b1pre) Gecko/20081015 Shredder/3.0a3

On  3-04-09 05:24, Eric Blake wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

[adding bug-gnulib]

According to Elbert_Pol on 4/2/2009 2:41 PM:
Hello,

Did a try to port to Os2

Used gcc 4.3.3

But with make i get :
make.exe[4]: Entering directory `U:/m4-1.4.13/lib'
  CC  gl_avltree_oset.o
  CC  c-ctype.o
  CC  c-stack.o
  CC  clean-temp.o
  CC  execute.o
In file included from ./spawn.h:33,
                 from execute.c:47:
./sched.h:35: error: redefinition of 'struct sched_param'
make.exe[4]: *** [execute.o] Error 1
make.exe[4]: Leaving directory `U:/m4-1.4.13/lib'
make.exe[3]: *** [all-recursive] Error 1
make.exe[3]: Leaving directory `U:/m4-1.4.13/lib'
make.exe[2]: *** [all] Error 2
make.exe[2]: Leaving directory `U:/m4-1.4.13/lib'
make.exe[1]: *** [all-recursive] Error 1
make.exe[1]: Leaving directory `U:/m4-1.4.13'
make.exe: *** [all] Error 2

Any Idea :)

Can you please post the preprocessed source of execute.c?  ('cd lib', then
'gcc -E -std=gnu99 -I. execute.c').  Either the split inclusion guard is
not working, or your platform defines sched_param in a non-standard
location which is not detected during the m4 test but is interfering in
the gnulib replacement header.

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAknVgWgACgkQ84KuGfSFAYCNUACeMbio2K+05+fiLf+/4ak6HxZk
MUwAoIHXbqjOVirNs3428VlRADdB9vc1
=Zts2
-----END PGP SIGNATURE-----

Hi Eric,
Thankz for quick response .
Here is output..
# 1 "execute.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "execute.c"
# 19 "execute.c"
# 1 "./config.h" 1
# 20 "execute.c" 2


# 1 "execute.h" 1
# 21 "execute.h"
# 1 "U:/USR/local433/lib/gcc/i386-pc-os2-emx/4.3.3/include/stdbool.h" 1 3
# 22 "execute.h" 2
# 37 "execute.h"
extern int execute (const char *progname,
      const char *prog_path, char **prog_argv,
      _Bool ignore_sigpipe,
      _Bool null_stdin, _Bool null_stdout, _Bool null_stderr,
      _Bool slave_process, _Bool exit_on_error,
      int *termsigp);
# 23 "execute.c" 2

# 1 "./errno.h" 1
# 23 "./errno.h"

# 24 "./errno.h" 3



# 1 "U:/USR/include/errno.h" 1 3
# 9 "U:/USR/include/errno.h" 3
# 1 "U:/USR/include/sys/errno.h" 1 3
# 54 "U:/USR/include/sys/errno.h" 3
# 1 "U:/USR/include/sys/cdefs.h" 1 3
# 531 "U:/USR/include/sys/cdefs.h" 3
# 1 "U:/USR/include/sys/gnu/cdefs.h" 1 3
# 30 "U:/USR/include/sys/gnu/cdefs.h" 3
# 1 "U:/USR/include/features.h" 1 3
# 31 "U:/USR/include/sys/gnu/cdefs.h" 2 3
# 532 "U:/USR/include/sys/cdefs.h" 2 3
# 55 "U:/USR/include/sys/errno.h" 2 3


extern int * _errno(void);

# 10 "U:/USR/include/errno.h" 2 3
# 28 "./errno.h" 2 3
# 25 "execute.c" 2
# 1 "./fcntl.h" 1
# 22 "./fcntl.h"

# 23 "./fcntl.h" 3
# 38 "./fcntl.h" 3
# 1 "U:/USR/include/sys/types.h" 1 3
# 53 "U:/USR/include/sys/types.h" 3
# 1 "U:/USR/include/machine/endian.h" 1 3
# 46 "U:/USR/include/machine/endian.h" 3
# 1 "U:/USR/include/sys/_types.h" 1 3
# 42 "U:/USR/include/sys/_types.h" 3
# 1 "U:/USR/include/machine/_types.h" 1 3
# 51 "U:/USR/include/machine/_types.h" 3
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef short __int16_t;
typedef unsigned short __uint16_t;
typedef int __int32_t;
typedef unsigned int __uint32_t;







typedef int __attribute__((__mode__(__DI__))) __int64_t;
typedef unsigned int __attribute__((__mode__(__DI__))) __uint64_t;
# 77 "U:/USR/include/machine/_types.h" 3
typedef long int __clock_t;



typedef __int32_t __critical_t;
typedef double __double_t;
typedef double __float_t;
typedef __int32_t __intfptr_t;
typedef __int64_t __intmax_t;
typedef __int32_t __intptr_t;
typedef __int32_t __int_fast8_t;
typedef __int32_t __int_fast16_t;
typedef __int32_t __int_fast32_t;
typedef __int64_t __int_fast64_t;
typedef __int8_t __int_least8_t;
typedef __int16_t __int_least16_t;
typedef __int32_t __int_least32_t;
typedef __int64_t __int_least64_t;
typedef __int32_t __ptrdiff_t;
typedef __int32_t __register_t;
typedef __int32_t __segsz_t;
typedef __uint32_t __size_t;
typedef __int32_t __ssize_t;
typedef __int32_t __time_t;
typedef __uint32_t __uintfptr_t;
typedef __uint64_t __uintmax_t;
typedef __uint32_t __uintptr_t;
typedef __uint32_t __uint_fast8_t;
typedef __uint32_t __uint_fast16_t;
typedef __uint32_t __uint_fast32_t;
typedef __uint64_t __uint_fast64_t;
typedef __uint8_t __uint_least8_t;
typedef __uint16_t __uint_least16_t;
typedef __uint32_t __uint_least32_t;
typedef __uint64_t __uint_least64_t;
typedef __uint32_t __u_register_t;
typedef __uint32_t __vm_offset_t;
typedef __int64_t __vm_ooffset_t;



typedef __uint32_t __vm_paddr_t;

typedef __uint64_t __vm_pindex_t;
typedef __uint32_t __vm_size_t;





typedef __builtin_va_list __va_list;





typedef __va_list __gnuc_va_list;
# 43 "U:/USR/include/sys/_types.h" 2 3




typedef __int32_t __clockid_t;
typedef __uint32_t __fflags_t;
typedef __uint64_t __fsblkcnt_t;
typedef __uint64_t __fsfilcnt_t;
typedef __uint32_t __gid_t;
typedef __int64_t __id_t;

typedef __uint64_t __ino_t;



typedef long __key_t;
typedef __int32_t __lwpid_t;

typedef __int32_t __mode_t;



typedef int __nl_item;
typedef __uint16_t __nlink_t;
typedef __int64_t __off_t;
typedef __int32_t __pid_t;
typedef __int64_t __rlim_t;
typedef __uint8_t __sa_family_t;
typedef __uint32_t __socklen_t;
typedef long __suseconds_t;
typedef __int32_t __timer_t;
typedef __uint32_t __uid_t;
typedef unsigned int __useconds_t;
# 95 "U:/USR/include/sys/_types.h" 3
typedef int __ct_rune_t;
typedef __ct_rune_t __rune_t;



typedef unsigned short __wchar_t;

typedef __ct_rune_t __wint_t;

typedef __uint32_t __dev_t;

typedef __uint32_t __fixpt_t;





typedef union {
 char __mbstate8[128];
 __int64_t _mbstateL;
} __mbstate_t;
# 47 "U:/USR/include/machine/endian.h" 2 3
# 102 "U:/USR/include/machine/endian.h" 3
static __inline __uint64_t
__bswap64(__uint64_t _x)
{
 return ((_x >> 56) | ((_x >> 40) & 0xff00) | ((_x >> 24) & 0xff0000) |
     ((_x >> 8) & 0xff000000) | ((_x << 8) & ((__uint64_t)0xff << 32)) |
     ((_x << 24) & ((__uint64_t)0xff << 40)) |
     ((_x << 40) & ((__uint64_t)0xff << 48)) | ((_x << 56)));
}

static __inline __uint32_t
__bswap32(__uint32_t _x)
{

return (__extension__ ({ register __uint32_t __X = (_x); __asm ("xchgb %h0, %b0\n\trorl $16, %0\n\txchgb %h0, %b0" : "+q" (__X)); __X; }));
}

static __inline __uint16_t
__bswap16(__uint16_t _x)
{

return (__extension__ ({ register __uint16_t __X = (_x); __asm ("xchgb %h0, %b0" : "+q" (__X)); __X; }));
}
# 153 "U:/USR/include/machine/endian.h" 3

unsigned long __attribute__((__system__)) htonl (unsigned long);
unsigned short __attribute__((__system__)) htons (unsigned short);
unsigned long __attribute__((__system__)) ntohl (unsigned long);
unsigned short __attribute__((__system__)) ntohs (unsigned short);

# 54 "U:/USR/include/sys/types.h" 2 3




typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;

typedef unsigned short ushort;
typedef unsigned int uint;







typedef __int8_t int8_t;




typedef __int16_t int16_t;




typedef __int32_t int32_t;




typedef __int64_t int64_t;




typedef __uint8_t uint8_t;




typedef __uint16_t uint16_t;




typedef __uint32_t uint32_t;




typedef __uint64_t uint64_t;




typedef __intptr_t intptr_t;
typedef __uintptr_t uintptr_t;



typedef __uint8_t u_int8_t;
typedef __uint16_t u_int16_t;
typedef __uint32_t u_int32_t;
typedef __uint64_t u_int64_t;

typedef __uint64_t u_quad_t;
typedef __int64_t quad_t;
typedef quad_t * qaddr_t;

typedef char * caddr_t;
typedef const char * c_caddr_t;
typedef volatile char *v_caddr_t;


typedef __clock_t clock_t;





typedef __clockid_t clockid_t;



typedef __critical_t critical_t;
typedef __int64_t daddr_t;


typedef __dev_t dev_t;




typedef __fflags_t fflags_t;



typedef __fixpt_t fixpt_t;


typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;




typedef __gid_t gid_t;





typedef __uint32_t in_addr_t;




typedef __uint16_t in_port_t;




typedef __id_t id_t;




typedef __ino_t ino_t;




typedef __key_t key_t;





typedef __lwpid_t lwpid_t;




typedef __mode_t mode_t;




typedef __nlink_t nlink_t;




typedef __off_t off_t;





typedef __pid_t pid_t;




typedef __register_t register_t;


typedef __rlim_t rlim_t;



typedef __segsz_t segsz_t;


typedef __size_t size_t;





typedef __ssize_t ssize_t;





typedef __suseconds_t suseconds_t;




typedef __time_t time_t;





typedef __timer_t timer_t;



typedef __u_register_t u_register_t;


typedef __uid_t uid_t;





typedef __useconds_t useconds_t;



typedef __vm_offset_t vm_offset_t;
typedef __vm_ooffset_t vm_ooffset_t;
typedef __vm_paddr_t vm_paddr_t;
typedef __vm_pindex_t vm_pindex_t;
typedef __vm_size_t vm_size_t;
# 307 "U:/USR/include/sys/types.h" 3
# 1 "U:/USR/include/sys/select.h" 1 3
# 12 "U:/USR/include/sys/select.h" 3
# 1 "U:/USR/include/sys/_sigset.h" 1 3
# 78 "U:/USR/include/sys/_sigset.h" 3
typedef struct __sigset
{

    unsigned long __bitmap[2];
} __sigset_t;
# 13 "U:/USR/include/sys/select.h" 2 3




typedef __sigset_t sigset_t;
# 39 "U:/USR/include/sys/select.h" 3
typedef unsigned long __fd_mask;





typedef struct fd_set
{
__fd_mask __fds_bits[(((2048) + (((sizeof(__fd_mask) * 8)) - 1)) / ((sizeof(__fd_mask) * 8)))];
} fd_set;


typedef __fd_mask fd_mask;
# 81 "U:/USR/include/sys/select.h" 3
struct timeval;
int select (int, struct fd_set *, struct fd_set *, struct fd_set *, struct timeval *); int _select (int, struct fd_set *, struct fd_set *, struct fd_set *, struct timeval *);
void *memset (void *, int, size_t);
# 96 "U:/USR/include/sys/select.h" 3
int __attribute__((__system__)) bsdselect(int, struct fd_set *, struct fd_set *, struct fd_set *, struct timeval *);

int __attribute__((__system__)) os2_select(int *, int, int, int, long);
# 113 "U:/USR/include/sys/select.h" 3
#pragma pack(1)
struct selinfo {
        pid_t si_pid;
        short si_flags;
};
#pragma pack()
# 308 "U:/USR/include/sys/types.h" 2 3
# 327 "U:/USR/include/sys/types.h" 3



int ftruncate(int, off_t);



off_t lseek(int, off_t, int);
# 344 "U:/USR/include/sys/types.h" 3
int truncate(const char *, off_t);


# 39 "./fcntl.h" 2 3
# 1 "./sys/stat.h" 1 3
# 26 "./sys/stat.h" 3

# 27 "./sys/stat.h" 3
# 43 "./sys/stat.h" 3
# 1 "U:/USR/include/sys/stat.h" 1 3
# 108 "U:/USR/include/sys/stat.h" 3
# 1 "U:/USR/include/sys/time.h" 1 3
# 48 "U:/USR/include/sys/time.h" 3
# 1 "U:/USR/include/sys/_timeval.h" 1 3
# 54 "U:/USR/include/sys/_timeval.h" 3
#pragma pack(4)
struct timeval {
 long tv_sec;
 suseconds_t tv_usec;
};
#pragma pack()
# 49 "U:/USR/include/sys/time.h" 2 3

# 1 "U:/USR/include/sys/timespec.h" 1 3
# 57 "U:/USR/include/sys/timespec.h" 3
#pragma pack(4)
struct timespec {
 time_t tv_sec;
 long tv_nsec;
};
#pragma pack()
# 51 "U:/USR/include/sys/time.h" 2 3



struct timezone {
 int tz_minuteswest;
 int tz_dsttime;
};
# 68 "U:/USR/include/sys/time.h" 3
struct bintime {
 time_t sec;
 uint64_t frac;
};

static __inline void
bintime_addx(struct bintime *bt, uint64_t x)
{
 uint64_t u;

 u = bt->frac;
 bt->frac += x;
 if (u > bt->frac)
  bt->sec++;
}

static __inline void
bintime_add(struct bintime *bt, struct bintime *bt2)
{
 uint64_t u;

 u = bt->frac;
 bt->frac += bt2->frac;
 if (u > bt->frac)
  bt->sec++;
 bt->sec += bt2->sec;
}

static __inline void
bintime_sub(struct bintime *bt, struct bintime *bt2)
{
 uint64_t u;

 u = bt->frac;
 bt->frac -= bt2->frac;
 if (u < bt->frac)
  bt->sec--;
 bt->sec -= bt2->sec;
}
# 122 "U:/USR/include/sys/time.h" 3
static __inline void
bintime2timespec(struct bintime *bt, struct timespec *ts)
{

 ts->tv_sec = bt->sec;
 ts->tv_nsec = ((uint64_t)1000000000 * (uint32_t)(bt->frac >> 32)) >> 32;
}

static __inline void
timespec2bintime(struct timespec *ts, struct bintime *bt)
{

 bt->sec = ts->tv_sec;

 bt->frac = ts->tv_nsec * (uint64_t)18446744073LL;
}

static __inline void
bintime2timeval(struct bintime *bt, struct timeval *tv)
{

 tv->tv_sec = bt->sec;
 tv->tv_usec = ((uint64_t)1000000 * (uint32_t)(bt->frac >> 32)) >> 32;
}

static __inline void
timeval2bintime(struct timeval *tv, struct bintime *bt)
{

 bt->sec = tv->tv_sec;

 bt->frac = tv->tv_usec * (uint64_t)18446744073709LL;
}
# 240 "U:/USR/include/sys/time.h" 3
struct itimerval {
 struct timeval it_interval;
 struct timeval it_value;
};




struct clockinfo {
 int hz;
 int tick;
 int spare;
 int stathz;
 int profhz;
};
# 321 "U:/USR/include/sys/time.h" 3
# 1 "U:/USR/include/time.h" 1 3
# 95 "U:/USR/include/time.h" 3
typedef __int64_t time64_t;
# 124 "U:/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;




};


extern char *tzname[];



char *asctime(const struct tm *);
clock_t clock(void);
char *ctime(const time_t *);
double difftime(time_t, time_t);
struct tm *gmtime(const time_t *);
struct tm *localtime(const time_t *);
struct tm *_localtime64_r(const time64_t *, struct tm *);
time_t mktime(struct tm *);
time64_t _mktime64(struct tm *);
size_t strftime(char * __restrict, size_t, const char * __restrict,
    const struct tm * __restrict);
time_t time(time_t *);


void tzset(void);



int clock_getres(clockid_t, struct timespec *);
int clock_gettime(clockid_t, struct timespec *);
int clock_settime(clockid_t, const struct timespec *);
int nanosleep(const struct timespec *, struct timespec *);



char *asctime_r(const struct tm *, char *);
char *ctime_r(const time_t *, char *);
struct tm *gmtime_r(const time_t *, struct tm *);
struct tm *_gmtime64_r(const time64_t *, struct tm *);
struct tm *localtime_r(const time_t *, struct tm *);



char *strptime(const char * __restrict, const char * __restrict,
    struct tm * __restrict);






void tzsetwall(void);
time_t timelocal(struct tm * const);
time_t timegm(struct tm * const);




extern int daylight;
extern long timezone;




extern int _daylight;
extern long _timezone;
extern char *_tzname[2];
char *_strptime (__const__ char *, __const__ char *, struct tm *);
void _tzset (void);




# 322 "U:/USR/include/sys/time.h" 2 3





int futimes(int, const struct timeval *);
int getitimer(int, struct itimerval *);
int gettimeofday(struct timeval *, struct timezone *);
int lutimes(const char *, const struct timeval *);
int setitimer(int, const struct itimerval *, struct itimerval *);
int settimeofday(const struct timeval *, const struct timezone *);
int utimes(const char *, const struct timeval *);


typedef signed long long hrtime_t;
hrtime_t gethrtime(void);




# 109 "U:/USR/include/sys/stat.h" 2 3
# 137 "U:/USR/include/sys/stat.h" 3
struct stat {
 __dev_t st_dev;

 __uint32_t st_attr;

 ino_t st_ino;
 mode_t st_mode;
 nlink_t st_nlink;
 uid_t st_uid;
 gid_t st_gid;
 __dev_t st_rdev;

 __int32_t st_lspare;


 struct timespec st_atimespec;
 struct timespec st_mtimespec;
 struct timespec st_ctimespec;
# 163 "U:/USR/include/sys/stat.h" 3
 off_t st_size;
 __int64_t st_blocks;
 __uint32_t st_blksize;
 fflags_t st_flags;
 __uint32_t st_gen;




 struct timespec st_birthtimespec;
# 181 "U:/USR/include/sys/stat.h" 3
 unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec));
 unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec));






};
# 326 "U:/USR/include/sys/stat.h" 3




int chmod(const char *, mode_t);


int fchmod(int, mode_t);

int fstat(int, struct stat *);


int lchmod(const char *, mode_t);


int lstat(const char *, struct stat *);

int mkdir(const char *, mode_t);
int mkfifo(const char *, mode_t);
int stat(const char *, struct stat *);
mode_t umask(mode_t);



int _chmod (__const__ char *, int);
int _fstat (int, struct stat *);
int _mkdir (__const__ char *, long);

int _stat (__const__ char *, struct stat *);
int _umask (int);




# 44 "./sys/stat.h" 2 3
# 40 "./fcntl.h" 2 3
# 1 "./unistd.h" 1 3
# 22 "./unistd.h" 3

# 23 "./unistd.h" 3




# 1 "U:/USR/include/unistd.h" 1 3
# 54 "U:/USR/include/unistd.h" 3
# 1 "U:/USR/include/sys/unistd.h" 1 3
# 55 "U:/USR/include/unistd.h" 2 3
# 1 "U:/USR/include/sys/_null.h" 1 3
# 56 "U:/USR/include/unistd.h" 2 3
# 342 "U:/USR/include/unistd.h" 3


void _exit(int) __attribute__((__noreturn__));
int access(const char *, int);
unsigned int alarm(unsigned int);
int chdir(const char *);
int chown(const char *, uid_t, gid_t);
int close(int);
int dup(int);
int dup2(int, int);
int eaccess(const char *, int);
int execl(const char *, const char *, ...);
int execle(const char *, const char *, ...);
int execlp(const char *, const char *, ...);
int execv(const char *, char * const *);
int execve(const char *, char * const *, char * const *);
int execvp(const char *, char * const *);
pid_t fork(void);
long fpathconf(int, int);
char *getcwd(char *, size_t);
gid_t getegid(void);
uid_t geteuid(void);
gid_t getgid(void);
int getgroups(int, gid_t []);
char *getlogin(void);
pid_t getpgrp(void);
pid_t getpid(void);
pid_t getppid(void);
uid_t getuid(void);
int isatty(int);
int link(const char *, const char *);




long pathconf(const char *, int);
int pause(void);
int pipe(int *);
ssize_t read(int, void *, size_t);
int rmdir(const char *);
int setgid(gid_t);
int setpgid(pid_t, pid_t);
void setproctitle(const char *_fmt, ...) ;
pid_t setsid(void);
int setuid(uid_t);
unsigned int sleep(unsigned int);
long sysconf(int);
pid_t tcgetpgrp(int);
int tcsetpgrp(int, pid_t);
char *ttyname(int);
int unlink(const char *);
ssize_t write(int, const void *, size_t);






int getopt(int, char * const [], const char *);

extern char *optarg;
extern int optind, opterr, optopt;





int fsync(int);
# 422 "U:/USR/include/unistd.h" 3
int getlogin_r(char *, int);




int fchown(int, uid_t, gid_t);
int readlink(const char *, char *, int);



int setegid(gid_t);
int seteuid(uid_t);
# 442 "U:/USR/include/unistd.h" 3
int symlink(const char * __restrict, const char * __restrict);




char *crypt(const char *, const char *);

void encrypt(char *, int);
int fchdir(int);

pid_t getpgid(pid_t _pid);
pid_t getsid(pid_t _pid);
char *getwd(char *);
int lchown(const char *, uid_t, gid_t);
int lockf(int, int, off_t);
int nice(int);
ssize_t pread(int, void *, size_t, off_t);
ssize_t pwrite(int, const void *, size_t, off_t);

int setregid(gid_t, gid_t);
int setreuid(uid_t, uid_t);

void sync(void);
useconds_t ualarm(useconds_t, useconds_t);
int usleep(useconds_t);
# 477 "U:/USR/include/unistd.h" 3
int brk(const void *);
int chroot(const char *);
int getdtablesize(void);
int getpagesize(void) __attribute__((__const__));
char *getpass(const char *);




struct timeval;
# 495 "U:/USR/include/unistd.h" 3
void endusershell(void);




int getgrouplist(const char *, gid_t, gid_t *, int *);
mode_t getmode(const void *, mode_t);



char *getusershell(void);
int initgroups(const char *, gid_t);


int issetugid(void);
char *mkdtemp(char *);
int mknod(const char *, mode_t, dev_t);

int mkstemp(char *);


int mkstemps(char *, int);

char *mktemp(char *);
# 529 "U:/USR/include/unistd.h" 3
char *rpl_re_comp(const char *);
int rpl_re_exec(const char *);
# 541 "U:/USR/include/unistd.h" 3
int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);



int setgroups(int, const gid_t *);




void setkey(const char *);



void *bsd_setmode(const char *);
int setresgid(gid_t, gid_t, gid_t);
int setresuid(uid_t, uid_t, uid_t);
int setrgid(gid_t);
int setruid(uid_t);
void setusershell(void);
# 568 "U:/USR/include/unistd.h" 3
void *valloc(size_t);



extern int optreset;
# 581 "U:/USR/include/unistd.h" 3
char *_getcwdux(char *, size_t);


char *get_current_dir_name(void);







char *_getpass1(const char *);
char *_getpass2(const char *, int);




void __exit(int) __attribute__((__noreturn__));
int _access(const char *, int);
unsigned int _alarm(unsigned int);
int _chdir(const char *);
int _chown(const char *, uid_t, gid_t);
int _close(int);
char *_cuserid(char *);
int _dup(int);
int _dup2(int, int);
int _eaccess(const char *, int);
int _execl(const char *, const char *, ...);
int _execle(const char *, const char *, ...);
int _execlp(const char *, const char *, ...);
int _execv(const char *, char * const *);
int _execve(const char *, char * const *, char * const *);
int _execvp(const char *, char * const *);
pid_t _fork(void);
long _fpathconf(int, int);
char *_getcwd(char *, size_t);
gid_t _getegid(void);
uid_t _geteuid(void);
gid_t _getgid(void);
int _getgroups(int, gid_t []);
char *_getlogin(void);
pid_t _getpgrp(void);
pid_t _getpid(void);
pid_t _getppid(void);
uid_t _getuid(void);
int _isatty(int);
int _link(const char *, const char *);


off_t _lseek(int, off_t, int);

long _pathconf(const char *, int);

int _pipe(int *);
ssize_t _read(int, void *, size_t);
int _rmdir(const char *);
int _setgid(gid_t);

int _setpgid(pid_t, pid_t);
pid_t _setsid(void);
int _setuid(uid_t);
unsigned _sleep(unsigned);
long _sysconf(int);
pid_t _tcgetpgrp(int);
pid_t _tcsetpgrp(int, int);
char *_ttyname(int);
int _unlink(const char *);
int _write(int, const void *, size_t);

int _brk(const void *);
char *_getpass(const char *);
char *_getpass1(const char *);
char *_getpass2(const char *, int);
int _mkstemp(char *);
char *_mktemp(char *);




extern char *_optarg;
extern int _optind;
extern int _opterr;
extern int _optopt;
int _getopt(int, char **, const char *);






int soclose(int);

int gethostid(void);
int gethostname(char *, int);

int iruserok(unsigned long, int, const char *, const char *);
int rcmd(char **, int, const char *, const char *, const char *, int *);
int rresvport(int *);
int ruserok(const char *, int, const char *, const char *);
# 692 "U:/USR/include/unistd.h" 3

# 28 "./unistd.h" 2 3







# 1 "./stdio.h" 1 3
# 21 "./stdio.h" 3

# 22 "./stdio.h" 3
# 35 "./stdio.h" 3
# 1 "U:/USR/include/stdio.h" 1 3
# 53 "U:/USR/include/stdio.h" 3
typedef __off_t fpos_t;
# 63 "U:/USR/include/stdio.h" 3
typedef __va_list va_list;
# 181 "U:/USR/include/stdio.h" 3
typedef struct __sFILE
{
    unsigned __uVersion;
    char * _ptr;
    char * _buffer;
    int _rcount;
    int _wcount;
    int _handle;
    int _flags;
    int _buf_size;
    int _tmpidx;
    int _pid;
    char _char_buf;
    unsigned char _ungetc_count;
    short _mbstate;
    int (*_flush)(struct __sFILE *, int);


    union
    {





        char __rsem_ersatz[16];
    } __u;


    void *__pSV;
} FILE;


extern FILE *__stdinp;
extern FILE *__stdoutp;
extern FILE *__stderrp;

# 268 "U:/USR/include/stdio.h" 3




void clearerr(FILE *);
int fclose(FILE *);
int feof(FILE *);
int ferror(FILE *);
int fflush(FILE *);
int fgetc(FILE *);
int fgetpos(FILE * __restrict, fpos_t * __restrict);
char *fgets(char * __restrict, int, FILE * __restrict);
FILE *fopen(const char * __restrict, const char * __restrict);
int fprintf(FILE * __restrict, const char * __restrict, ...);
int fputc(int, FILE *);
int fputs(const char * __restrict, FILE * __restrict);
size_t fread(void * __restrict, size_t, size_t, FILE * __restrict);
FILE *freopen(const char * __restrict, const char * __restrict, FILE * __restrict);
int fscanf(FILE * __restrict, const char * __restrict, ...);
int fseek(FILE *, long, int);
int fsetpos(FILE *, const fpos_t *);
long ftell(FILE *);
size_t fwrite(const void * __restrict, size_t, size_t, FILE * __restrict);
int getc(FILE *);
int getchar(void);
char *gets(char *);
void perror(const char *);
int printf(const char * __restrict, ...);
int putc(int, FILE *);
int putchar(int);
int puts(const char *);
int remove(const char *);
int rename(const char *, const char *);
void rewind(FILE *);
int scanf(const char * __restrict, ...);
void setbuf(FILE * __restrict, char * __restrict);
int setvbuf(FILE * __restrict, char * __restrict, int, size_t);
int sprintf(char * __restrict, const char * __restrict, ...);
int sscanf(const char * __restrict, const char * __restrict, ...);
FILE *tmpfile(void);
char *tmpnam(char *);
int ungetc(int, FILE *);
int vfprintf(FILE * __restrict, const char * __restrict,
     __va_list);
int vprintf(const char * __restrict, __va_list);
int vsprintf(char * __restrict, const char * __restrict,
     __va_list);


int snprintf(char * __restrict, size_t, const char * __restrict,
     ...) __attribute__((__format__ (__printf__, 3, 4)));
int vfscanf(FILE * __restrict, const char * __restrict, __va_list)
     __attribute__((__format__ (__scanf__, 2, 0)));
int vscanf(const char * __restrict, __va_list) __attribute__((__format__ (__scanf__, 1, 0)));
int vsnprintf(char * __restrict, size_t, const char * __restrict,
     __va_list) __attribute__((__format__ (__printf__, 3, 0)));
int vsscanf(const char * __restrict, const char * __restrict, __va_list)
     __attribute__((__format__ (__scanf__, 2, 0)));
# 340 "U:/USR/include/stdio.h" 3
FILE *fdopen(int, const char *);
int fileno(FILE *);



int pclose(FILE *);
FILE *popen(const char *, const char *);



int ftrylockfile(FILE *);
void flockfile(FILE *);
void funlockfile(FILE *);





int getc_unlocked(FILE *);
int getchar_unlocked(void);
int putc_unlocked(int, FILE *);
int putchar_unlocked(int);


void clearerr_unlocked(FILE *);
int feof_unlocked(FILE *);
int ferror_unlocked(FILE *);
int fileno_unlocked(FILE *);


int fflush_unlocked(FILE *);
size_t fwrite_unlocked(const void * __restrict, size_t, size_t, FILE * __restrict);
size_t fread_unlocked(void * __restrict, size_t, size_t, FILE * __restrict);
int fgetc_unlocked(FILE *);
int fputc_unlocked(int, FILE *);
int fputs_unlocked(const char * __restrict, FILE * __restrict);
char *fgets_unlocked(char * __restrict, int, FILE * __restrict);
int puts_unlocked(const char *);
char *gets_unlocked(char *);



int fseeko(FILE *, __off_t, int);
__off_t ftello(FILE *);



int getw(FILE *);
int putw(int, FILE *);



char *tempnam(const char *, const char *);






int asprintf(char **, const char *, ...) __attribute__((__format__ (__printf__, 2, 3)));
# 409 "U:/USR/include/stdio.h" 3
void setbuffer(FILE *, char *, int);
int setlinebuf(FILE *);
int vasprintf(char **, const char *, __va_list)
     __attribute__((__format__ (__printf__, 2, 0)));






extern const int sys_nerr;
extern const char *const sys_errlist[];
# 446 "U:/USR/include/stdio.h" 3
void *mmap(void *, size_t, int, int, int, __off_t);
# 525 "U:/USR/include/stdio.h" 3
int _fill (FILE *);
int _flush (int, FILE *);
int _rmtmp (void);
# 546 "U:/USR/include/stdio.h" 3
char *cuserid (char *);
int fcloseall (void);
int fgetchar (void);
int flushall (void);
int fputchar (int);






int _fcloseall (void);
FILE *_fdopen (int, __const__ char *);
int _fgetchar (void);
int _flushall (void);
int _fputchar (int);
int _fseek_hdr (FILE *);
int _fsetmode (FILE *, __const__ char *);
FILE *_fsopen (__const__ char *, __const__ char *, int);
int _getw (FILE *);
char *_mfclose (FILE *);
FILE *_mfopen (char *, __const__ char *, size_t, int);
int _pclose (FILE *);
FILE *_popen (__const__ char *, __const__ char *);
int _putw (int, FILE *);
void _setbuffer (FILE *, char *, int);
int _snprintf (char *, size_t, __const__ char *, ...);
char *_tempnam (__const__ char *, __const__ char *);
int _vsnprintf (char *, size_t, __const__ char *, __va_list);
# 588 "U:/USR/include/stdio.h" 3
ssize_t getline(char **, size_t *, FILE *);
ssize_t getdelim(char **, size_t *, int, FILE *);





# 36 "./stdio.h" 2 3




# 1 "U:/USR/local433/lib/gcc/i386-pc-os2-emx/4.3.3/include/stdarg.h" 1 3
# 41 "./stdio.h" 2 3
# 1 "U:/USR/include/stddef.h" 1 3
# 49 "U:/USR/include/stddef.h" 3
typedef __ptrdiff_t ptrdiff_t;



typedef __rune_t rune_t;
# 66 "U:/USR/include/stddef.h" 3
typedef __wchar_t wchar_t;
# 82 "U:/USR/include/stddef.h" 3
unsigned *__threadid (void);
# 42 "./stdio.h" 2 3
# 290 "./stdio.h" 3
  extern int rpl_asprintf (char **result, const char *format, ...)
    __attribute__ ((__format__ (__printf__, 2, 3)));
extern int rpl_vasprintf (char **result, const char *format, va_list args)
    __attribute__ ((__format__ (__printf__, 2, 0)));
# 321 "./stdio.h" 3
extern FILE * rpl_fopen (const char *filename, const char *mode);
# 350 "./stdio.h" 3
extern int rpl_fseeko (FILE *fp, off_t offset, int whence);
# 428 "./stdio.h" 3
  extern int rpl_fflush (FILE *gl_stream);
# 36 "./unistd.h" 2 3




# 1 "./stdlib.h" 1 3
# 20 "./stdlib.h" 3

# 21 "./stdlib.h" 3
# 34 "./stdlib.h" 3
# 1 "U:/USR/include/stdlib.h" 1 3
# 71 "U:/USR/include/stdlib.h" 3
typedef struct _div_t {
 int quot;
 int rem;
} div_t;

typedef struct _ldiv_t {
 long quot;
 long rem;
} ldiv_t;






extern int __mb_cur_max;



void abort(void) __attribute__((__noreturn__));
int abs(int) __attribute__((__const__));
int atexit(void (*)(void));
double atof(const char *);
int atoi(const char *);
long atol(const char *);
void *bsearch(const void *, const void *, size_t,
     size_t, int (*)(const void *, const void *));
void *calloc(size_t, size_t);
div_t div(int, int) __attribute__((__const__));
void exit(int) __attribute__((__noreturn__));
void free(void *);
char *getenv(const char *);
long labs(long) __attribute__((__const__));
ldiv_t ldiv(long, long) __attribute__((__const__));
void *malloc(size_t);
int mblen(const char *, size_t);
size_t mbstowcs(wchar_t * __restrict , const char * __restrict, size_t);
int mbtowc(wchar_t * __restrict, const char * __restrict, size_t);
void qsort(void *, size_t, size_t,
     int (*)(const void *, const void *));
int rand(void);
void *realloc(void *, size_t);
void srand(unsigned);
double strtod(const char * __restrict, char ** __restrict);
float strtof(const char * __restrict, char ** __restrict);
long strtol(const char * __restrict, char ** __restrict, int);
long double
  strtold(const char * __restrict, char ** __restrict);
unsigned long
  strtoul(const char * __restrict, char ** __restrict, int);
int system(const char *);
int wctomb(char *, wchar_t);
size_t wcstombs(char * __restrict, const wchar_t * __restrict, size_t);
# 138 "U:/USR/include/stdlib.h" 3
typedef struct _lldiv_t {
 long long quot;
 long long rem;
} lldiv_t;


long long
  atoll(const char *);

long long
  llabs(long long) __attribute__((__const__));

lldiv_t lldiv(long long, long long) __attribute__((__const__));

long long
  strtoll(const char * __restrict, char ** __restrict, int);

unsigned long long
  strtoull(const char * __restrict, char ** __restrict, int);


void _Exit(int) __attribute__((__noreturn__));
# 168 "U:/USR/include/stdlib.h" 3
int posix_memalign(void **, size_t, size_t);
int rand_r(unsigned *);
int setenv(const char *, const char *, int);
int unsetenv(const char *);
# 183 "U:/USR/include/stdlib.h" 3
double drand48(void);

double erand48(unsigned short[3]);


int getsubopt(char **, char *const *, char **);

char *initstate(unsigned long , char *, long);
long jrand48(unsigned short[3]);

void lcong48(unsigned short[7]);
long lrand48(void);
# 203 "U:/USR/include/stdlib.h" 3
long mrand48(void);
long nrand48(unsigned short[3]);


int putenv(const char *);
long random(void);
char *realpath(const char *, char resolved_path[]);
unsigned short
 *seed48(unsigned short[3]);




char *setstate( char *);
void srand48(long);
void srandom(unsigned long);




extern const char *_malloc_options;
extern void (*_malloc_message)(const char *, const char *, const char *,
     const char *);
# 243 "U:/USR/include/stdlib.h" 3
__uint32_t
  arc4random(void);
void arc4random_addrandom(unsigned char *dat, int datlen);
void arc4random_stir(void);
char *getbsize(int *, long *);
# 263 "U:/USR/include/stdlib.h" 3
int getloadavg(double [], int);
const char *
  getprogname(void);

int heapsort(void *, size_t, size_t, int (*)(const void *, const void *));
int mergesort(void *, size_t, size_t, int (*)(const void *, const void *));
void qsort_r(void *, size_t, size_t, void *,
     int (*)(void *, const void *, const void *));
int radixsort(const unsigned char **, int, const unsigned char *,
     unsigned);
void *reallocf(void *, size_t);
void setprogname(const char *);
int sradixsort(const unsigned char **, int, const unsigned char *,
     unsigned);
void sranddev(void);
void srandomdev(void);







extern char *suboptarg;






char *_getcwdux(char *, size_t);
char *_realrealpath(const char *, char *, size_t);
int _getenv_longlong(const char *, long long *);
int _getenv_long(const char *, long *);
int _getenv_int(const char *, int *);


char *canonicalize_file_name(const char *);
void *valloc(size_t);

int on_exit(void (*)(int, void *), void *);





# 1 "U:/USR/include/malloc.h" 1 3
# 32 "U:/USR/include/malloc.h" 3
void *calloc (size_t, size_t);
void free (void *);
void *malloc (size_t);
void *realloc (void *, size_t);
# 49 "U:/USR/include/malloc.h" 3
void *_tcalloc (size_t, size_t);
void _tfree (void *);
int _theapmin (void);
void *_tmalloc (size_t);
void *_trealloc (void *, size_t);

void *_expand (void *, size_t);
int _heapchk (void);
int _heapmin (void);
int _heapset (unsigned);
int _heap_walk (int (*)(__const__ void *, size_t, int, int,
    __const__ char *, size_t));
size_t _msize (__const__ void *);



void *valloc(size_t);
void *memalign(size_t, size_t);
# 310 "U:/USR/include/stdlib.h" 2 3
# 347 "U:/USR/include/stdlib.h" 3
typedef struct
{
  unsigned long quot;
  unsigned long rem;
} _uldiv_t;


typedef struct _lldiv_t _lldiv_t;







typedef struct
{
  unsigned long long quot;
  unsigned long long rem;
} _ulldiv_t;


extern char **environ;

extern __const__ unsigned char _osminor;
extern __const__ unsigned char _osmajor;




unsigned alarm (unsigned);
int brk(const void *);
int chdir (const char *);
char *gcvt (double, int, char *);
char *getcwd (char *, size_t);
int getpagesize (void);
char *getwd (char *);
int mkdir(const char *, mode_t);
void perror (const char *);
int rmdir (const char *);
void *sbrk(intptr_t);
unsigned sleep (unsigned);
long ulimit (int, ...);

char *itoa (int, char *, int);
char *ltoa (long, char *, int);
char *ultoa (unsigned long, char *, int);
char *lltoa (long long, char *, int);
char *ulltoa (unsigned long long, char *, int);






extern char **_environ;
extern __const__ char * __const__ _sys_errlist[];
extern __const__ int _sys_nerr;

unsigned _alarm (unsigned);
int _brk(const void *);
int _chdir (__const__ char *);
char *_gcvt (double, int, char *);
char *_getcwd (char *, size_t);
int _getpagesize (void);
char *_getwd (char *);
int _mkdir (__const__ char *, long);
int _putenv (__const__ char *);
int _rmdir (__const__ char *);
void *_sbrk(intptr_t);
unsigned _sleep (unsigned);
void _swab (__const__ void *, void *, size_t);
long _ulimit (int, ...);

int _abspath (char *, __const__ char *, int);
long long _atoll (__const__ char *);
long double _atofl (__const__ char *);
int _chdir2 (__const__ char *);
int _chdir_os2 (const char *);
int _chdrive (int);
int _core (int);
void _defext (char *, __const__ char *);
void _envargs (int *, char ***, __const__ char *);
int _execname (char *, size_t);
void _exit (int) __attribute__ ((__noreturn__));
int _filesys (__const__ char *, char *, size_t);
char **_fnexplode (__const__ char *);
void _fnexplodefree (char **);
char _fngetdrive (__const__ char *);
int _fnisabs (__const__ char *);
int _fnisrel (__const__ char *);
void _fnlwr (char *);
void _fnlwr2 (char *, __const__ char *);
char *_fnslashify (char *);
int _fullpath (char *, __const__ char *, int);
int _getcwd1 (char *, char);
char *_getcwd2 (char *, int);
int _getdrive (void);
char *_getext (__const__ char *);
char *_getext2 (__const__ char *);
char *_getname (__const__ char *);
int _getsockhandle (int);
int _gettid (void);
char *_getvol (char);
char *_itoa (int, char *, int);
_lldiv_t _lldiv (long long, long long);
char *_lltoa (long long, char *, int);
_uldiv_t _uldiv (unsigned long, unsigned long);
_ulldiv_t _ulldiv (unsigned long long, unsigned long long);
char *_itoa (int, char *, int);
char *_ltoa (long, char *, int);
char *_ultoa (unsigned long, char *, int);
char *_lltoa (long long, char *, int);
char *_ulltoa (unsigned long long, char *, int);
void _makepath (char *, __const__ char *, __const__ char *,
    __const__ char *, __const__ char *);
int _path (char *, __const__ char *);
int _read_kbd (int, int, int);
void _remext (char *);
void _rfnlwr (void);
void _response (int *, char ***);
void _scrsize (int *);
void _searchenv (__const__ char *, __const__ char *, char *);
void _sfnlwr (__const__ char *);
unsigned _sleep2 (unsigned);
char ** _splitargs (char *, int *);
void _splitpath (__const__ char *, char *, char *, char *, char *);
float _strtof (__const__ char *, char **);
long double _strtold (__const__ char *, char **);
long long _strtoll (__const__ char *, char **, int);
unsigned long long _strtoull (__const__ char *, char **, int);
char _swchar (void);
void _wildcard (int *, char ***);

int _beginthread (void (*)(void *), void *, unsigned, void *);
void _endthread (void);
void **_threadstore (void);

int _setenv(const char *envname, const char *envval, int overwrite);
int _unsetenv(const char *name);




# 35 "./stdlib.h" 2 3
# 52 "./stdlib.h" 3
# 1 "./stdint.h" 1 3
# 54 "./stdint.h" 3

# 55 "./stdint.h" 3

# 1 "U:/USR/include/stdint.h" 1 3





# 1 "U:/USR/include/sys/stdint.h" 1 3
# 39 "U:/USR/include/sys/stdint.h" 3
# 1 "U:/USR/include/machine/_stdint.h" 1 3
# 40 "U:/USR/include/sys/stdint.h" 2 3
# 81 "U:/USR/include/sys/stdint.h" 3
typedef __int_least8_t int_least8_t;
typedef __int_least16_t int_least16_t;
typedef __int_least32_t int_least32_t;
typedef __int_least64_t int_least64_t;

typedef __uint_least8_t uint_least8_t;
typedef __uint_least16_t uint_least16_t;
typedef __uint_least32_t uint_least32_t;
typedef __uint_least64_t uint_least64_t;

typedef __int_fast8_t int_fast8_t;
typedef __int_fast16_t int_fast16_t;
typedef __int_fast32_t int_fast32_t;
typedef __int_fast64_t int_fast64_t;

typedef __uint_fast8_t uint_fast8_t;
typedef __uint_fast16_t uint_fast16_t;
typedef __uint_fast32_t uint_fast32_t;
typedef __uint_fast64_t uint_fast64_t;

typedef __intmax_t intmax_t;
typedef __uintmax_t uintmax_t;
# 7 "U:/USR/include/stdint.h" 2 3
# 57 "./stdint.h" 2 3
# 73 "./stdint.h" 3
# 1 "U:/USR/include/limits.h" 1 3
# 140 "U:/USR/include/limits.h" 3
# 1 "U:/USR/include/sys/limits.h" 1 3
# 45 "U:/USR/include/sys/limits.h" 3
# 1 "U:/USR/include/machine/_limits.h" 1 3
# 46 "U:/USR/include/sys/limits.h" 2 3
# 141 "U:/USR/include/limits.h" 2 3


# 1 "U:/USR/include/sys/syslimits.h" 1 3
# 144 "U:/USR/include/limits.h" 2 3
# 74 "./stdint.h" 2 3





# 1 "U:/USR/include/inttypes.h" 1 3
# 39 "U:/USR/include/inttypes.h" 3
# 1 "U:/USR/include/machine/_inttypes.h" 1 3
# 40 "U:/USR/include/inttypes.h" 2 3


typedef struct {
 intmax_t quot;
 intmax_t rem;
} imaxdiv_t;


intmax_t imaxabs(intmax_t) __attribute__((__const__));
imaxdiv_t imaxdiv(intmax_t, intmax_t) __attribute__((__const__));

intmax_t strtoimax(const char * __restrict, char ** __restrict, int);
uintmax_t strtoumax(const char * __restrict, char ** __restrict, int);
intmax_t wcstoimax(const __wchar_t * __restrict,
      __wchar_t ** __restrict, int);
uintmax_t wcstoumax(const __wchar_t * __restrict,
      __wchar_t ** __restrict, int);

# 80 "./stdint.h" 2 3
# 90 "./stdint.h" 3
# 1 "U:/USR/include/sys/bitypes.h" 1 3
# 91 "./stdint.h" 2 3
# 117 "./stdint.h" 3
typedef signed char gl_int8_t;
typedef unsigned char gl_uint8_t;





typedef short int gl_int16_t;
typedef unsigned short int gl_uint16_t;





typedef int gl_int32_t;
typedef unsigned int gl_uint32_t;
# 150 "./stdint.h" 3
typedef long long int gl_int64_t;
# 167 "./stdint.h" 3
typedef unsigned long long int gl_uint64_t;
# 223 "./stdint.h" 3
typedef long int gl_int_fast8_t;
typedef unsigned long int gl_uint_fast8_t;
typedef long int gl_int_fast16_t;
typedef unsigned long int gl_uint_fast16_t;
typedef long int gl_int_fast32_t;
typedef unsigned long int gl_uint_fast32_t;
# 246 "./stdint.h" 3
typedef long int gl_intptr_t;
typedef unsigned long int gl_uintptr_t;
# 258 "./stdint.h" 3
typedef long long int gl_intmax_t;
# 269 "./stdint.h" 3
typedef unsigned long long int gl_uintmax_t;
# 281 "./stdint.h" 3
typedef int _verify_intmax_size[2 * (sizeof (gl_intmax_t) == sizeof (gl_uintmax_t)) - 1];
# 53 "./stdlib.h" 2 3



struct random_data
{
  gl_int32_t *fptr;
  gl_int32_t *rptr;
  gl_int32_t *state;
  int rand_type;
  int rand_deg;
  int rand_sep;
  gl_int32_t *end_ptr;
};
# 252 "./stdlib.h" 3
# 1 "./unistd.h" 1 3
# 253 "./stdlib.h" 2 3
# 353 "./stdlib.h" 3
extern double rpl_strtod (const char *str, char **endp);
# 41 "./unistd.h" 2 3
# 207 "./unistd.h" 3
extern char **environ;
# 41 "./fcntl.h" 2 3

# 1 "U:/USR/include/fcntl.h" 1 3
# 10 "U:/USR/include/fcntl.h" 3
# 1 "U:/USR/include/sys/fcntl.h" 1 3
# 68 "U:/USR/include/sys/fcntl.h" 3
# 1 "./sys/stat.h" 1 3
# 26 "./sys/stat.h" 3

# 27 "./sys/stat.h" 3
# 69 "U:/USR/include/sys/fcntl.h" 2 3
# 242 "U:/USR/include/sys/fcntl.h" 3
struct flock {
 off_t l_start;
 off_t l_len;
 pid_t l_pid;
 short l_type;
 short l_whence;
};
# 264 "U:/USR/include/sys/fcntl.h" 3

int open(const char *, int, ...);
int creat(const char *, mode_t);
int fcntl(int, int, ...);

int flock(int, int);


# 298 "U:/USR/include/sys/fcntl.h" 3

int _creat (__const__ char *, int);
int _fcntl (int, int, ...);
int _flock (int, int);
int _open (__const__ char *, int, ...);

# 11 "U:/USR/include/fcntl.h" 2 3
# 43 "./fcntl.h" 2 3
# 58 "./fcntl.h" 3
extern int rpl_open (const char *filename, int flags, ...);
# 26 "execute.c" 2

# 1 "./stdlib.h" 1
# 20 "./stdlib.h"

# 21 "./stdlib.h" 3
# 28 "execute.c" 2
# 1 "./signal.h" 1
# 20 "./signal.h"

# 21 "./signal.h" 3
# 34 "./signal.h" 3
# 1 "U:/USR/include/signal.h" 1 3
# 49 "U:/USR/include/signal.h" 3
# 1 "U:/USR/include/sys/signal.h" 1 3
# 37 "U:/USR/include/sys/signal.h" 3
# 1 "U:/USR/include/machine/signal.h" 1 3
# 51 "U:/USR/include/machine/signal.h" 3
typedef int sig_atomic_t;
# 62 "U:/USR/include/machine/signal.h" 3
# 1 "U:/USR/include/machine/trap.h" 1 3
# 63 "U:/USR/include/machine/signal.h" 2 3
# 104 "U:/USR/include/machine/signal.h" 3
struct sigcontext {
 struct __sigset sc_mask;
 int sc_onstack;
 int sc_gs;
 int sc_fs;
 int sc_es;
 int sc_ds;
 int sc_edi;
 int sc_esi;
 int sc_ebp;
 int sc_isp;
 int sc_ebx;
 int sc_edx;
 int sc_ecx;
 int sc_eax;
 int sc_trapno;
 int sc_err;
 int sc_eip;
 int sc_cs;
 int sc_efl;
 int sc_esp;
 int sc_ss;
 int sc_len;




 int sc_fpformat;
 int sc_ownedfp;
 int sc_spare1[1];
 int sc_fpstate[128] __attribute__((__aligned__(16)));
 int sc_spare2[8];
};
# 38 "U:/USR/include/sys/signal.h" 2 3
# 366 "U:/USR/include/sys/signal.h" 3
typedef union sigval
{

    int sival_int;

    void *sival_ptr;


    int sigval_int;
    void *sigval_ptr;

} sigval_t;





typedef struct sigevent
{

    int sigev_notify;

    int sigev_signo;

    union sigval sigev_value;

    void (*sigev_notify_function)(sigval_t);

    void *sigev_notify_attributes;
} sigevent_t;







typedef struct __siginfo
{

    int si_signo;

    int si_errno;

    int si_code;

    unsigned si_timestamp;

    unsigned si_flags;

    __pid_t si_pid;

    unsigned si_pgrp;

    unsigned si_tid;

    __uid_t si_uid;

    int si_status;

    void *si_addr;

    union sigval si_value;

    long si_band;

    int si_fd;

    unsigned auReserved[6];
} siginfo_t;
# 451 "U:/USR/include/sys/signal.h" 3
typedef void __sighandler_t(int);

typedef void __siginfohandler_t(int, struct __siginfo *, void *);



typedef __sighandler_t *sig_t;



typedef __sighandler_t *sighandler_t;



struct __siginfo;


struct sigaction
{





    union
    {


        __siginfohandler_t *__sa_sigaction;

        __sighandler_t *__sa_handler;
    } __sigaction_u;

    sigset_t sa_mask;

    int sa_flags;
};
# 497 "U:/USR/include/sys/signal.h" 3
struct sigvec
{

    __sighandler_t *sv_handler;

    int sv_mask;

    int sv_flags;
};
# 515 "U:/USR/include/sys/signal.h" 3
typedef struct sigaltstack



{

    void *ss_sp;

    __size_t ss_size;

    int ss_flags;
} stack_t;





struct sigstack
{

    void *ss_sp;

    int ss_onstack;
};








__sighandler_t *signal(int, __sighandler_t *);
__sighandler_t *bsd_signal(int, __sighandler_t *);
__sighandler_t *_signal_sysv(int, __sighandler_t *);
__sighandler_t *_signal_os2(int, __sighandler_t *);
# 566 "U:/USR/include/sys/signal.h" 3

# 50 "U:/USR/include/signal.h" 2 3







extern const char *const sys_signame[(63 + 1)];
extern const char *const sys_siglist[(63 + 1)];
extern const int sys_nsig;
# 69 "U:/USR/include/signal.h" 3

int raise(int);


int kill(__pid_t, int);
int sigaction(int, const struct sigaction * __restrict,
     struct sigaction * __restrict);
int sigaddset(sigset_t *, int);
int sigdelset(sigset_t *, int);
int sigemptyset(sigset_t *);
int sigfillset(sigset_t *);
int sigismember(const sigset_t *, int);
int sigpending(sigset_t *);
int sigprocmask(int, const sigset_t * __restrict, sigset_t * __restrict);
int sigsuspend(const sigset_t *);
int sigwait(const sigset_t * __restrict, int * __restrict);
# 96 "U:/USR/include/signal.h" 3
int sigqueue(__pid_t, int, const union sigval);
struct timespec;
int sigtimedwait(const sigset_t * __restrict, siginfo_t * __restrict,
     const struct timespec * __restrict);
int sigwaitinfo(const sigset_t * __restrict, siginfo_t * __restrict);



int killpg(__pid_t, int);
int sigaltstack(const stack_t * __restrict, stack_t * __restrict);
int sigpause(int);



int siginterrupt(int, int);



int sigblock(int);
struct __ucontext;
int sigreturn(const struct __ucontext *);
int sigsetmask(int);
int sigstack(const struct sigstack *, struct sigstack *);
int sigvec(int, struct sigvec *, struct sigvec *);
void psignal(unsigned int, const char *);




int sighold(int);
int sigignore(int);
int sigrelse(int);
void (*sigset(int, void (*)(int)))(int);








# 35 "./signal.h" 2 3
# 29 "execute.c" 2


# 1 "error.h" 1
# 42 "error.h"
extern void error (int __status, int __errnum, const char *__format, ...)
     __attribute__ ((__format__ (__printf__, 3, 4)));

extern void error_at_line (int __status, int __errnum, const char *__fname,
      unsigned int __lineno, const char *__format, ...)
     __attribute__ ((__format__ (__printf__, 5, 6)));




extern void (*error_print_progname) (void);


extern unsigned int error_message_count;



extern int error_one_per_line;
# 32 "execute.c" 2
# 1 "fatal-signal.h" 1
# 54 "fatal-signal.h"
extern void at_fatal_signal (void (*function) (void));
# 68 "fatal-signal.h"
extern void block_fatal_signals (void);


extern void unblock_fatal_signals (void);
# 33 "execute.c" 2
# 1 "wait-process.h" 1
# 22 "wait-process.h"
# 1 "./stdlib.h" 1
# 20 "./stdlib.h"

# 21 "./stdlib.h" 3
# 23 "wait-process.h" 2
# 57 "wait-process.h"
extern int wait_subprocess (pid_t child, const char *progname,
       _Bool ignore_sigpipe, _Bool null_stderr,
       _Bool slave_process, _Bool exit_on_error,
       int *termsigp);





extern void register_slave_subprocess (pid_t child);
# 34 "execute.c" 2
# 1 "gettext.h" 1
# 126 "gettext.h"
__inline





static const char *
pgettext_aux (const char *domain,
       const char *msg_ctxt_id, const char *msgid,
       int category)
{
const char *translation = ((void) (category), ((void) (domain), ((const char *) (msg_ctxt_id))));
  if (translation == msg_ctxt_id)
    return msgid;
  else
    return translation;
}


__inline





static const char *
npgettext_aux (const char *domain,
        const char *msg_ctxt_id, const char *msgid,
        const char *msgid_plural, unsigned long int n,
        int category)
{
  const char *translation =
((void) (category), ((void) (domain), ((n) == 1 ? ((void) (msgid_plural), (const char *) (msg_ctxt_id)) : ((void) (msg_ctxt_id), (const char *) (msgid_plural)))));
  if (translation == msg_ctxt_id || translation == msgid_plural)
    return (n == 1 ? msgid : msgid_plural);
  else
    return translation;
}





# 1 "./string.h" 1
# 23 "./string.h"

# 24 "./string.h" 3



# 1 "U:/USR/include/string.h" 1 3
# 55 "U:/USR/include/string.h" 3
# 1 "U:/USR/include/strings.h" 1 3
# 47 "U:/USR/include/strings.h" 3

int bcmp(const void *, const void *, size_t);
void bcopy(const void *, void *, size_t);
void bzero(void *, size_t);
int ffs(int);
char *index(const char *, int);
char *rindex(const char *, int);
int strcasecmp(const char *, const char *);
int strncasecmp(const char *, const char *, size_t);

# 56 "U:/USR/include/string.h" 2 3
# 68 "U:/USR/include/string.h" 3


void *memccpy(void * __restrict, const void * __restrict, int, size_t);

void *memchr(const void *, int, size_t);
int memcmp(const void *, const void *, size_t);
void *memcpy(void * __restrict, const void * __restrict, size_t);
void *memmove(void *, const void *, size_t);
void *memset(void *, int, size_t);

char *stpcpy(char *, const char *);
char *strcasestr(const char *, const char *);

char *strcat(char * __restrict, const char * __restrict);
char *strchr(const char *, int);
int strcmp(const char *, const char *);
int strcoll(const char *, const char *);
char *strcpy(char * __restrict, const char * __restrict);
size_t strcspn(const char *, const char *);

char *strdup(const char *);

char *strerror(int);

int strerror_r(int, char *, size_t);


size_t strlcat(char *, const char *, size_t);
size_t strlcpy(char *, const char *, size_t);

size_t strlen(const char *);

void strmode(int, char *);

char *strncat(char * __restrict, const char * __restrict, size_t);
int strncmp(const char *, const char *, size_t);
char *strncpy(char * __restrict, const char * __restrict, size_t);

char *strnstr(const char *, const char *, size_t);

char *strpbrk(const char *, const char *);
char *strrchr(const char *, int);

char *strsep(char **, const char *);
 char *strsignal(int);

size_t strspn(const char *, const char *);
char *strstr(const char *, const char *);
char *strtok(char * __restrict, const char * __restrict);

char *strtok_r(char *, const char *, char **);

size_t strxfrm(char * __restrict, const char * __restrict, size_t);

void swab(const void *, void *, size_t);
# 132 "U:/USR/include/string.h" 3
int memicmp(__const__ void *, __const__ void *, size_t);
int stricmp(__const__ char *, __const__ char *);
char * strlwr(char *);
int strnicmp(__const__ char *, __const__ char *, size_t);
char * strnset(char *, int, size_t);
char * strrev(char *);
char * strset(char *, int);
char * strupr(char *);



size_t _memcount (__const__ void *, int, size_t);
size_t _memdif (__const__ void *, __const__ void *, size_t);
void *_memrchr (const void *, int, size_t);
void _memswap (void *, void *, size_t);
char *_strncpy (char *, __const__ char *, size_t);
void *_memccpy (void *, __const__ void *, int, size_t);
int _memicmp (__const__ void *, __const__ void *, size_t);
char *_strdup (__const__ char *);
int _stricmp (__const__ char *, __const__ char *);
char *_strlwr (char *);
int _strnicmp (__const__ char *, __const__ char *, size_t);
char *_strnset (char *, int, size_t);
char *_strrev (char *);
char *_strset (char *, int);
char *_strupr (char *);
char *_strsep (char **, __const__ char *);






void *_memcpy_amd(void *, const void *, size_t);






char *basename(const char *);
size_t strnlen(const char *, size_t);
void *mempcpy(void *, const void *, size_t);
char *strndup(const char *, size_t);
void *memrchr(const void *, int, size_t);

int strverscmp(const char *, const char *);
char *strchrnul(const char *, int);
void *rawmemchr(const void *, int);
char *stpncpy(char *, const char *, int);

size_t __strnlen(const char *, size_t);
void *__mempcpy(void *, const void *, size_t);
char *__strndup(const char *, size_t);
void *_memrchr(const void *, int, size_t);
void *__memrchr(const void *, int, size_t);

int __strverscmp(const char *, const char *);
char *__strchrnul(const char *, int);
void *__rawmemchr(const void *, int);
char *__stpncpy(char *, const char *, int);
# 214 "U:/USR/include/string.h" 3

# 28 "./string.h" 2 3
# 349 "./string.h" 3
char *rpl_strstr (const char *haystack, const char *needle)
  __attribute__ ((__pure__));
# 591 "./string.h" 3
extern char *rpl_strerror (int);
# 170 "gettext.h" 2
# 185 "gettext.h"
__inline





static const char *
dcpgettext_expr (const char *domain,
   const char *msgctxt, const char *msgid,
   int category)
{
  size_t msgctxt_len = strlen (msgctxt) + 1;
  size_t msgid_len = strlen (msgid) + 1;
  const char *translation;

  char msg_ctxt_id[msgctxt_len + msgid_len];
# 209 "gettext.h"
    {
      memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
      msg_ctxt_id[msgctxt_len - 1] = '\004';
      memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
translation = ((void) (category), ((void) (domain), ((const char *) (msg_ctxt_id))));




      if (translation != msg_ctxt_id)
 return translation;
    }
  return msgid;
}







__inline





static const char *
dcnpgettext_expr (const char *domain,
    const char *msgctxt, const char *msgid,
    const char *msgid_plural, unsigned long int n,
    int category)
{
  size_t msgctxt_len = strlen (msgctxt) + 1;
  size_t msgid_len = strlen (msgid) + 1;
  const char *translation;

  char msg_ctxt_id[msgctxt_len + msgid_len];
# 255 "gettext.h"
    {
      memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
      msg_ctxt_id[msgctxt_len - 1] = '\004';
      memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
translation = ((void) (category), ((void) (domain), ((n) == 1 ? ((void) (msgid_plural), (const char *) (msg_ctxt_id)) : ((void) (msg_ctxt_id), (const char *) (msgid_plural)))));




      if (!(translation == msg_ctxt_id || translation == msgid_plural))
 return translation;
    }
  return (n == 1 ? msgid : msgid_plural);
}
# 35 "execute.c" 2
# 47 "execute.c"
# 1 "./spawn.h" 1
# 22 "./spawn.h"

# 23 "./spawn.h" 3




# 1 "U:/USR/include/spawn.h" 1 3
# 32 "U:/USR/include/spawn.h" 3
# 1 "./signal.h" 1 3
# 20 "./signal.h" 3

# 21 "./signal.h" 3
# 33 "U:/USR/include/spawn.h" 2 3
# 65 "U:/USR/include/spawn.h" 3
struct sched_param {
 int sched_priority;
};
# 77 "U:/USR/include/spawn.h" 3
typedef struct
{
  short int __flags;
  pid_t __pgrp;
  sigset_t __sd;
  sigset_t __ss;
  struct sched_param __sp;
  int __policy;
  int __pad[16];
} posix_spawnattr_t;




typedef struct
{
  int __allocated;
  int __used;
  struct __spawn_action *__actions;
  int __pad[16];
} posix_spawn_file_actions_t;
# 109 "U:/USR/include/spawn.h" 3




extern int posix_spawn (pid_t *__restrict __pid,
   const char *__restrict __path,
   const posix_spawn_file_actions_t *__restrict
   __file_actions,
   const posix_spawnattr_t *__restrict __attrp,
   char *const argv[__restrict],
   char *const envp[__restrict]) __attribute__ ((__nothrow__));


extern int posix_spawnp (pid_t *__pid, const char *__file,
    const posix_spawn_file_actions_t *__file_actions,
    const posix_spawnattr_t *__attrp,
    char *const argv[], char *const envp[]) __attribute__ ((__nothrow__));



extern int posix_spawnattr_init (posix_spawnattr_t *__attr) __attribute__ ((__nothrow__));


extern int posix_spawnattr_destroy (posix_spawnattr_t *__attr) __attribute__ ((__nothrow__));



extern int posix_spawnattr_getsigdefault (const posix_spawnattr_t *
       __restrict __attr,
       sigset_t *__restrict __sigdefault)
     __attribute__ ((__nothrow__));


extern int posix_spawnattr_setsigdefault (posix_spawnattr_t *__restrict __attr,
       const sigset_t *__restrict
       __sigdefault)
     __attribute__ ((__nothrow__));


extern int posix_spawnattr_getsigmask (const posix_spawnattr_t *__restrict
           __attr,
           sigset_t *__restrict __sigmask) __attribute__ ((__nothrow__));


extern int posix_spawnattr_setsigmask (posix_spawnattr_t *__restrict __attr,
           const sigset_t *__restrict __sigmask)
     __attribute__ ((__nothrow__));


extern int posix_spawnattr_getflags (const posix_spawnattr_t *__restrict
         __attr,
         short int *__restrict __flags) __attribute__ ((__nothrow__));


extern int posix_spawnattr_setflags (posix_spawnattr_t *_attr,
         short int __flags) __attribute__ ((__nothrow__));


extern int posix_spawnattr_getpgroup (const posix_spawnattr_t *__restrict
          __attr, pid_t *__restrict __pgroup)
     __attribute__ ((__nothrow__));


extern int posix_spawnattr_setpgroup (posix_spawnattr_t *__attr,
          pid_t __pgroup) __attribute__ ((__nothrow__));


extern int posix_spawnattr_getschedpolicy (const posix_spawnattr_t *
        __restrict __attr,
        int *__restrict __schedpolicy)
     __attribute__ ((__nothrow__));


extern int posix_spawnattr_setschedpolicy (posix_spawnattr_t *__attr,
        int __schedpolicy) __attribute__ ((__nothrow__));


extern int posix_spawnattr_getschedparam (const posix_spawnattr_t *
       __restrict __attr,
       struct sched_param *__restrict
       __schedparam) __attribute__ ((__nothrow__));


extern int posix_spawnattr_setschedparam (posix_spawnattr_t *__restrict __attr,
       const struct sched_param *
       __restrict __schedparam) __attribute__ ((__nothrow__));



extern int posix_spawn_file_actions_init (posix_spawn_file_actions_t *
       __file_actions) __attribute__ ((__nothrow__));


extern int posix_spawn_file_actions_destroy (posix_spawn_file_actions_t *
          __file_actions) __attribute__ ((__nothrow__));



extern int posix_spawn_file_actions_addopen (posix_spawn_file_actions_t *
          __restrict __file_actions,
          int __fd,
          const char *__restrict __path,
          int __oflag, mode_t __mode)
     __attribute__ ((__nothrow__));



extern int posix_spawn_file_actions_addclose (posix_spawn_file_actions_t *
           __file_actions, int __fd)
     __attribute__ ((__nothrow__));



extern int posix_spawn_file_actions_adddup2 (posix_spawn_file_actions_t *
          __file_actions,
          int __fd, int __newfd) __attribute__ ((__nothrow__));


# 28 "./spawn.h" 2 3





# 1 "./sched.h" 1 3
# 21 "./sched.h" 3

# 22 "./sched.h" 3
# 34 "./sched.h" 3
struct sched_param
{
  int sched_priority;
};
# 34 "./spawn.h" 2 3
# 1 "./signal.h" 1 3
# 20 "./signal.h" 3

# 21 "./signal.h" 3
# 35 "./spawn.h" 2 3
# 104 "./spawn.h" 3
typedef struct
{
  short int _flags;
  pid_t _pgrp;
  sigset_t _sd;
  sigset_t _ss;
  struct sched_param _sp;
  int _policy;
  int __pad[16];
} rpl_posix_spawnattr_t;







typedef struct
{
  int _allocated;
  int _used;
  struct __spawn_action *_actions;
  int __pad[16];
} rpl_posix_spawn_file_actions_t;
# 152 "./spawn.h" 3
typedef int verify_POSIX_SPAWN_USEVFORK_no_overlap
            [2 * (((0x01 | 0x02
      | 0x04 | 0x08
      | 0x10 | 0x20)
& ((0x01 | (0x01 - 1) | 0x02 | (0x02 - 1) | 0x04 | (0x04 - 1) | 0x08 | (0x08 - 1) | 0x10 | (0x10 - 1) | 0x20 | (0x20 - 1)) + 1)) == 0) - 1];
# 192 "./spawn.h" 3
extern int rpl_posix_spawnp (pid_t *__pid, const char *__file,
    const rpl_posix_spawn_file_actions_t *__file_actions,
    const rpl_posix_spawnattr_t *__attrp,
    char *const argv[], char *const envp[]);
# 206 "./spawn.h" 3
extern int rpl_posix_spawnattr_init (rpl_posix_spawnattr_t *__attr) __attribute__ ((__nothrow__));
# 216 "./spawn.h" 3
extern int rpl_posix_spawnattr_destroy (rpl_posix_spawnattr_t *__attr) __attribute__ ((__nothrow__));
# 262 "./spawn.h" 3
extern int rpl_posix_spawnattr_setsigmask (rpl_posix_spawnattr_t *restrict __attr,
           const sigset_t *restrict __sigmask)
     __attribute__ ((__nothrow__));
# 285 "./spawn.h" 3
extern int rpl_posix_spawnattr_setflags (rpl_posix_spawnattr_t *__attr,
         short int __flags) __attribute__ ((__nothrow__));
# 365 "./spawn.h" 3
extern int rpl_posix_spawn_file_actions_init (rpl_posix_spawn_file_actions_t *__file_actions) __attribute__ ((__nothrow__));
# 375 "./spawn.h" 3
extern int rpl_posix_spawn_file_actions_destroy (rpl_posix_spawn_file_actions_t *__file_actions) __attribute__ ((__nothrow__));
# 386 "./spawn.h" 3
extern int rpl_posix_spawn_file_actions_addopen (rpl_posix_spawn_file_actions_t *restrict __file_actions,
          int __fd,
          const char *restrict __path,
          int __oflag, mode_t __mode)
     __attribute__ ((__nothrow__));
# 401 "./spawn.h" 3
extern int rpl_posix_spawn_file_actions_addclose (rpl_posix_spawn_file_actions_t *__file_actions,
           int __fd)
     __attribute__ ((__nothrow__));
# 414 "./spawn.h" 3
extern int rpl_posix_spawn_file_actions_adddup2 (rpl_posix_spawn_file_actions_t *__file_actions,
          int __fd, int __newfd) __attribute__ ((__nothrow__));
# 48 "execute.c" 2
# 63 "execute.c"
static inline int
nonintr_close (int fd)
{
  int retval;

  do
    retval = close (fd);
  while (retval < 0 && (* _errno()) == 4);

  return retval;
}


static inline int
nonintr_open (const char *pathname, int oflag, mode_t mode)
{
  int retval;

  do
    retval = open (pathname, oflag, mode);
  while (retval < 0 && (* _errno()) == 4);

  return retval;
}
# 99 "execute.c"
int
execute (const char *progname,
  const char *prog_path, char **prog_argv,
  _Bool ignore_sigpipe,
  _Bool null_stdin, _Bool null_stdout, _Bool null_stderr,
  _Bool slave_process, _Bool exit_on_error,
  int *termsigp)
{
# 203 "execute.c"
  sigset_t blocked_signals;
  rpl_posix_spawn_file_actions_t actions;
  _Bool actions_allocated;
  rpl_posix_spawnattr_t attrs;
  _Bool attrs_allocated;
  int err;
  pid_t child;

  if (slave_process)
    {
      sigprocmask (3, 0, &blocked_signals);
      block_fatal_signals ();
    }
  actions_allocated = 0;
  attrs_allocated = 0;
  if ((err = rpl_posix_spawn_file_actions_init (&actions)) != 0
      || (actions_allocated = 1,
   (null_stdin
     && (err = rpl_posix_spawn_file_actions_addopen (&actions,
       0,
       "/dev/null", 0x0000,
       0))
        != 0)
   || (null_stdout
       && (err = rpl_posix_spawn_file_actions_addopen (&actions,
         1,
         "/dev/null", 0x0002,
         0))
   != 0)
   || (null_stderr
       && (err = rpl_posix_spawn_file_actions_addopen (&actions,
         2,
         "/dev/null", 0x0002,
         0))
   != 0)
   || (slave_process
       && ((err = rpl_posix_spawnattr_init (&attrs)) != 0
    || (attrs_allocated = 1,
        (err = rpl_posix_spawnattr_setsigmask (&attrs,
        &blocked_signals))
        != 0
        || (err = rpl_posix_spawnattr_setflags (&attrs,
       0x08))
    != 0)))
   || (err = rpl_posix_spawnp (&child, prog_path, &actions,
      attrs_allocated ? &attrs : 0, prog_argv,
      environ))
      != 0))
    {
      if (actions_allocated)
 rpl_posix_spawn_file_actions_destroy (&actions);
      if (attrs_allocated)
 rpl_posix_spawnattr_destroy (&attrs);
      if (slave_process)
 unblock_fatal_signals ();
      if (termsigp != 0)
 *termsigp = 0;
      if (exit_on_error || !null_stderr)
 error (exit_on_error ? 1 : 0, err,
        ((const char *) ("%s subprocess failed")), progname);
      return 127;
    }
  rpl_posix_spawn_file_actions_destroy (&actions);
  if (attrs_allocated)
    rpl_posix_spawnattr_destroy (&attrs);
  if (slave_process)
    {
      register_slave_subprocess (child);
      unblock_fatal_signals ();
    }

  return wait_subprocess (child, progname, ignore_sigpipe, null_stderr,
     slave_process, exit_on_error, termsigp);


}


--
 With the best regards,

                             Elbert Pol

--------------------------------------------------
***  Take a look at www.romeepol.nl  ***
--------------------------------------------------




reply via email to

[Prev in Thread] Current Thread [Next in Thread]