You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
491 lines
12 KiB
491 lines
12 KiB
# 1 "env1.c"
|
|
# 1 "<built-in>"
|
|
# 1 "<command-line>"
|
|
# 31 "<command-line>"
|
|
# 1 "/usr/include/stdc-predef.h" 1 3 4
|
|
# 32 "<command-line>" 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;
|
|
}
|