# 1 "env1.c" # 1 "" # 1 "" # 31 "" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 32 "" 2 # 1 "env1.c" # 1 "/usr/include/stdlib.h" 1 3 4 # 1 "/usr/include/features.h" 1 3 4 # 9 "/usr/include/stdlib.h" 2 3 4 # 19 "/usr/include/stdlib.h" 3 4 # 1 "/usr/include/bits/alltypes.h" 1 3 4 # 18 "/usr/include/bits/alltypes.h" 3 4 # 18 "/usr/include/bits/alltypes.h" 3 4 typedef int wchar_t; # 101 "/usr/include/bits/alltypes.h" 3 4 typedef unsigned long size_t; # 20 "/usr/include/stdlib.h" 2 3 4 int atoi (const char *); long atol (const char *); long long atoll (const char *); double atof (const char *); float strtof (const char *restrict, char **restrict); double strtod (const char *restrict, char **restrict); long double strtold (const char *restrict, char **restrict); long strtol (const char *restrict, char **restrict, int); unsigned long strtoul (const char *restrict, char **restrict, int); long long strtoll (const char *restrict, char **restrict, int); unsigned long long strtoull (const char *restrict, char **restrict, int); int rand (void); void srand (unsigned); void *malloc (size_t); void *calloc (size_t, size_t); void *realloc (void *, size_t); void free (void *); void *aligned_alloc(size_t, size_t); _Noreturn void abort (void); int atexit (void (*) (void)); _Noreturn void exit (int); _Noreturn void _Exit (int); int at_quick_exit (void (*) (void)); _Noreturn void quick_exit (int); char *getenv (const char *); int system (const char *); void *bsearch (const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); void qsort (void *, size_t, size_t, int (*)(const void *, const void *)); int abs (int); long labs (long); long long llabs (long long); typedef struct { int quot, rem; } div_t; typedef struct { long quot, rem; } ldiv_t; typedef struct { long long quot, rem; } lldiv_t; div_t div (int, int); ldiv_t ldiv (long, long); lldiv_t lldiv (long long, long long); int mblen (const char *, size_t); int mbtowc (wchar_t *restrict, const char *restrict, size_t); int wctomb (char *, wchar_t); size_t mbstowcs (wchar_t *restrict, const char *restrict, size_t); size_t wcstombs (char *restrict, const wchar_t *restrict, size_t); size_t __ctype_get_mb_cur_max(void); # 99 "/usr/include/stdlib.h" 3 4 int posix_memalign (void **, size_t, size_t); int setenv (const char *, const char *, int); int unsetenv (const char *); int mkstemp (char *); int mkostemp (char *, int); char *mkdtemp (char *); int getsubopt (char **, char *const *, char **); int rand_r (unsigned *); char *realpath (const char *restrict, char *restrict); long int random (void); void srandom (unsigned int); char *initstate (unsigned int, char *, size_t); char *setstate (char *); int putenv (char *); int posix_openpt (int); int grantpt (int); int unlockpt (int); char *ptsname (int); char *l64a (long); long a64l (const char *); void setkey (const char *); double drand48 (void); double erand48 (unsigned short [3]); long int lrand48 (void); long int nrand48 (unsigned short [3]); long mrand48 (void); long jrand48 (unsigned short [3]); void srand48 (long); unsigned short *seed48 (unsigned short [3]); void lcong48 (unsigned short [7]); # 1 "/usr/include/alloca.h" 1 3 4 # 9 "/usr/include/alloca.h" 3 4 # 1 "/usr/include/bits/alltypes.h" 1 3 4 # 10 "/usr/include/alloca.h" 2 3 4 void *alloca(size_t); # 139 "/usr/include/stdlib.h" 2 3 4 char *mktemp (char *); int mkstemps (char *, int); int mkostemps (char *, int, int); void *valloc (size_t); void *memalign(size_t, size_t); int getloadavg(double *, int); int clearenv(void); # 2 "env1.c" 2 # 1 "/usr/include/stdio.h" 1 3 4 # 22 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/alltypes.h" 1 3 4 typedef __builtin_va_list va_list; typedef __builtin_va_list __isoc_va_list; # 116 "/usr/include/bits/alltypes.h" 3 4 typedef long ssize_t; # 203 "/usr/include/bits/alltypes.h" 3 4 typedef long off_t; # 356 "/usr/include/bits/alltypes.h" 3 4 typedef struct _IO_FILE FILE; # 23 "/usr/include/stdio.h" 2 3 4 # 50 "/usr/include/stdio.h" 3 4 typedef union _G_fpos64_t { char __opaque[16]; long long __lldata; double __align; } fpos_t; extern FILE *const stdin; extern FILE *const stdout; extern FILE *const stderr; FILE *fopen(const char *restrict, const char *restrict); FILE *freopen(const char *restrict, const char *restrict, FILE *restrict); int fclose(FILE *); int remove(const char *); int rename(const char *, const char *); int feof(FILE *); int ferror(FILE *); int fflush(FILE *); void clearerr(FILE *); int fseek(FILE *, long, int); long ftell(FILE *); void rewind(FILE *); int fgetpos(FILE *restrict, fpos_t *restrict); int fsetpos(FILE *, const fpos_t *); size_t fread(void *restrict, size_t, size_t, FILE *restrict); size_t fwrite(const void *restrict, size_t, size_t, FILE *restrict); int fgetc(FILE *); int getc(FILE *); int getchar(void); int ungetc(int, FILE *); int fputc(int, FILE *); int putc(int, FILE *); int putchar(int); char *fgets(char *restrict, int, FILE *restrict); int fputs(const char *restrict, FILE *restrict); int puts(const char *); int printf(const char *restrict, ...); int fprintf(FILE *restrict, const char *restrict, ...); int sprintf(char *restrict, const char *restrict, ...); int snprintf(char *restrict, size_t, const char *restrict, ...); int vprintf(const char *restrict, __isoc_va_list); int vfprintf(FILE *restrict, const char *restrict, __isoc_va_list); int vsprintf(char *restrict, const char *restrict, __isoc_va_list); int vsnprintf(char *restrict, size_t, const char *restrict, __isoc_va_list); int scanf(const char *restrict, ...); int fscanf(FILE *restrict, const char *restrict, ...); int sscanf(const char *restrict, const char *restrict, ...); int vscanf(const char *restrict, __isoc_va_list); int vfscanf(FILE *restrict, const char *restrict, __isoc_va_list); int vsscanf(const char *restrict, const char *restrict, __isoc_va_list); void perror(const char *); int setvbuf(FILE *restrict, char *restrict, int, size_t); void setbuf(FILE *restrict, char *restrict); char *tmpnam(char *); FILE *tmpfile(void); FILE *fmemopen(void *restrict, size_t, const char *restrict); FILE *open_memstream(char **, size_t *); FILE *fdopen(int, const char *); FILE *popen(const char *, const char *); int pclose(FILE *); int fileno(FILE *); int fseeko(FILE *, off_t, int); off_t ftello(FILE *); int dprintf(int, const char *restrict, ...); int vdprintf(int, const char *restrict, __isoc_va_list); void flockfile(FILE *); int ftrylockfile(FILE *); void funlockfile(FILE *); int getc_unlocked(FILE *); int getchar_unlocked(void); int putc_unlocked(int, FILE *); int putchar_unlocked(int); ssize_t getdelim(char **restrict, size_t *restrict, int, FILE *restrict); ssize_t getline(char **restrict, size_t *restrict, FILE *restrict); int renameat(int, const char *, int, const char *); char *ctermid(char *); char *tempnam(const char *, const char *); char *cuserid(char *); void setlinebuf(FILE *); void setbuffer(FILE *, char *, size_t); int fgetc_unlocked(FILE *); int fputc_unlocked(int, FILE *); int fflush_unlocked(FILE *); size_t fread_unlocked(void *, size_t, size_t, FILE *); size_t fwrite_unlocked(const void *, size_t, size_t, FILE *); void clearerr_unlocked(FILE *); int feof_unlocked(FILE *); int ferror_unlocked(FILE *); int fileno_unlocked(FILE *); int getw(FILE *); int putw(int, FILE *); char *fgetln(FILE *, size_t *); int asprintf(char **, const char *, ...); int vasprintf(char **, const char *, __isoc_va_list); # 3 "env1.c" 2 # 1 "/usr/include/unistd.h" 1 3 4 # 33 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/bits/alltypes.h" 1 3 4 # 121 "/usr/include/bits/alltypes.h" 3 4 typedef long intptr_t; # 276 "/usr/include/bits/alltypes.h" 3 4 typedef int pid_t; # 286 "/usr/include/bits/alltypes.h" 3 4 typedef unsigned uid_t; typedef unsigned gid_t; # 301 "/usr/include/bits/alltypes.h" 3 4 typedef unsigned useconds_t; # 34 "/usr/include/unistd.h" 2 3 4 int pipe(int [2]); int pipe2(int [2], int); int close(int); int posix_close(int, int); int dup(int); int dup2(int, int); int dup3(int, int, int); off_t lseek(int, off_t, int); int fsync(int); int fdatasync(int); ssize_t read(int, void *, size_t); ssize_t write(int, const void *, size_t); ssize_t pread(int, void *, size_t, off_t); ssize_t pwrite(int, const void *, size_t, off_t); int chown(const char *, uid_t, gid_t); int fchown(int, uid_t, gid_t); int lchown(const char *, uid_t, gid_t); int fchownat(int, const char *, uid_t, gid_t, int); int link(const char *, const char *); int linkat(int, const char *, int, const char *, int); int symlink(const char *, const char *); int symlinkat(const char *, int, const char *); ssize_t readlink(const char *restrict, char *restrict, size_t); ssize_t readlinkat(int, const char *restrict, char *restrict, size_t); int unlink(const char *); int unlinkat(int, const char *, int); int rmdir(const char *); int truncate(const char *, off_t); int ftruncate(int, off_t); int access(const char *, int); int faccessat(int, const char *, int, int); int chdir(const char *); int fchdir(int); char *getcwd(char *, size_t); unsigned alarm(unsigned); unsigned sleep(unsigned); int pause(void); pid_t fork(void); int execve(const char *, char *const [], char *const []); int execv(const char *, char *const []); int execle(const char *, const char *, ...); int execl(const char *, const char *, ...); int execvp(const char *, char *const []); int execlp(const char *, const char *, ...); int fexecve(int, char *const [], char *const []); _Noreturn void _exit(int); pid_t getpid(void); pid_t getppid(void); pid_t getpgrp(void); pid_t getpgid(pid_t); int setpgid(pid_t, pid_t); pid_t setsid(void); pid_t getsid(pid_t); char *ttyname(int); int ttyname_r(int, char *, size_t); int isatty(int); pid_t tcgetpgrp(int); int tcsetpgrp(int, pid_t); uid_t getuid(void); uid_t geteuid(void); gid_t getgid(void); gid_t getegid(void); int getgroups(int, gid_t []); int setuid(uid_t); int seteuid(uid_t); int setgid(gid_t); int setegid(gid_t); char *getlogin(void); int getlogin_r(char *, size_t); int gethostname(char *, size_t); char *ctermid(char *); int getopt(int, char * const [], const char *); extern char *optarg; extern int optind, opterr, optopt; long pathconf(const char *, int); long fpathconf(int, int); long sysconf(int); size_t confstr(int, char *, size_t); int setreuid(uid_t, uid_t); int setregid(gid_t, gid_t); int lockf(int, int, off_t); long gethostid(void); int nice(int); void sync(void); pid_t setpgrp(void); char *crypt(const char *, const char *); void encrypt(char *, int); void swab(const void *restrict, void *restrict, ssize_t); int usleep(unsigned); unsigned ualarm(unsigned, unsigned); int brk(void *); void *sbrk(intptr_t); pid_t vfork(void); int vhangup(void); int chroot(const char *); int getpagesize(void); int getdtablesize(void); int sethostname(const char *, size_t); int getdomainname(char *, size_t); int setdomainname(const char *, size_t); int setgroups(size_t, const gid_t *); char *getpass(const char *); int daemon(int, int); void setusershell(void); void endusershell(void); char *getusershell(void); int acct(const char *); long syscall(long, ...); int execvpe(const char *, char *const [], char *const []); int issetugid(void); int getentropy(void *, size_t); # 252 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/bits/posix.h" 1 3 4 # 253 "/usr/include/unistd.h" 2 3 4 # 4 "env1.c" 2 # 5 "env1.c" extern char **environ; char **env ; int main() { env= environ; while(*environ){ puts(*environ); environ++; } char * p; puts("----------------------\n"); if((p=getenv("USER"))) printf("USER =%s\n",p); setenv("USER","test",1); printf("USER=%s\n",getenv("USER")); char * argv[]={"env2", # 23 "env1.c" 3 4 ((void*)0) # 23 "env1.c" }; execve("./env2",argv,env); return 0; }