diff options
Diffstat (limited to 'source3/smbwrapper')
-rw-r--r-- | source3/smbwrapper/smbsh.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source3/smbwrapper/smbsh.c b/source3/smbwrapper/smbsh.c index 8df82e702d..b677707741 100644 --- a/source3/smbwrapper/smbsh.c +++ b/source3/smbwrapper/smbsh.c @@ -104,13 +104,19 @@ int main(int argc, char *argv[]) slprintf(line,sizeof(line)-1,"%s/smbwrapper.32.so:DEFAULT", libd); smbw_setenv("_RLD_LIST", line); slprintf(line,sizeof(line)-1,"%s/smbwrapper.so:DEFAULT", libd); - smbw_setenv("_RLD32_LIST", line); + smbw_setenv("_RLDN32_LIST", line); } else { slprintf(line,sizeof(line)-1,"%s/smbwrapper.so:DEFAULT", libd); smbw_setenv("_RLD_LIST", line); } - execl("/bin/sh","smbsh",NULL); + { + char *shellpath = getenv("SHELL"); + if(shellpath) + execl(shellpath,"smbsh",NULL); + else + execl("/bin/sh","smbsh",NULL); + } printf("launch failed!\n"); return 1; } |