summaryrefslogtreecommitdiff
path: root/source3/smbwrapper/smbsh.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbwrapper/smbsh.c')
-rw-r--r--source3/smbwrapper/smbsh.c10
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;
}