diff options
| author | Michal Idziorek <m.i@gmx.at> | 2014-11-24 01:54:47 +0100 |
|---|---|---|
| committer | Michal Idziorek <m.i@gmx.at> | 2014-11-24 01:54:47 +0100 |
| commit | 369c62119b9dd60db77fc28e8857ed9c4d498889 (patch) | |
| tree | ea06cc9b95516863cc674bf700e27db601e0529b /kernel/syscalls.c | |
| parent | 0d36b950f6a560a0312f2dcd326d3bb5362af370 (diff) | |
problems with ENV
Diffstat (limited to 'kernel/syscalls.c')
| -rw-r--r-- | kernel/syscalls.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/kernel/syscalls.c b/kernel/syscalls.c index 4023dfe..b5422c5 100644 --- a/kernel/syscalls.c +++ b/kernel/syscalls.c @@ -195,6 +195,7 @@ int syscall_execve(char *name, char **argv, char **env) char *env1="PS1=$ "; char *env2="PATH=/bin"; char environstr[256]; + char **oldenviron=env; char **environ=0xf00001; @@ -227,10 +228,6 @@ int syscall_execve(char *name, char **argv, char **env) } environ[i]=NULL; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"duplicate env: %s (0x%08X)",environ[0],environ[0]); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"duplicate env: %s (0x%08X)",environ[1],environ[1]); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"duplicate env: %s (0x%08X)",environ[2],environ[2]); - } @@ -399,6 +396,13 @@ int syscall_exit(int ret, char **env, int none2) log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"exit (ret=%d) (env=0x%08X)", ret, env); #endif + int i=0; + while(env[i]!=NULL) + { + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"envvar %s (0x%08X)\n" ,env[i],env[i]); + i++; + } + static char *argv[]={"shell","--silent",NULL}; syscall_execve("/bin/foolshell",argv,env); // start shell } |
