(-f): implement

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6024 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1999-04-21 09:16:12 +00:00
parent d4cac3fd86
commit 390a7590fe

View File

@@ -312,17 +312,28 @@ main(int argc, char **argv)
int i;
char **args;
char *p;
args = malloc((1 + argc - optind + 1) * sizeof(*args));
p = strrchr(shell, '/');
if(p)
p++;
else
p = shell;
if (strcmp(p, "csh") != 0)
csh_f_flag = 0;
args = malloc((1 + argc - optind + 1 + csh_f_flag) * sizeof(*args));
if (args == NULL)
err (1, "malloc");
i = 0;
if(full_login)
asprintf(&args[0], "-%s", p);
asprintf(&args[i++], "-%s", p);
else
args[0] = p;
for(i = 1; i < argc - optind + 1; i++)
args[i++] = p;
if (csh_f_flag)
args[i++] = "-f";
for(; i < argc - optind + i; i++)
args[i] = argv[optind + i - 1];
args[i] = NULL;
if(setgid(su_info->pw_gid) < 0)