diff -urN src/usr.bin/su/su.c mysrc/usr.bin/su/su.c --- src/usr.bin/su/su.c Thu Feb 24 23:06:21 2000 +++ mysrc/usr.bin/su/su.c Thu Oct 5 10:41:59 2000 @@ -95,19 +95,22 @@ char *ontty __P((void)); int chshell __P((char *)); static void usage __P((void)); +int main(int argc, char **argv); + +extern char **environ; int main(argc, argv) int argc; char **argv; { - extern char **environ; struct passwd *pwd; #ifdef WHEELSU char *targetpass; int iswheelsu; #endif /* WHEELSU */ - char *p, **g, *user, *shell=NULL, *username, **cleanenv, **nargv, **np; + char **g, *username, **cleanenv; + const char *p, *user, *shell = NULL, **nargv, **np; struct group *gr; uid_t ruid; gid_t gid; @@ -116,7 +119,7 @@ #ifdef LOGIN_CAP login_cap_t *lc; char *class=NULL; - int setwhat; + unsigned setwhat; #endif #ifdef KERBEROS char *k; @@ -276,7 +279,7 @@ } #endif /* WHEELSU */ p = skey_getpass("Password:", pwd, 1); - if (!(!strcmp(pwd->pw_passwd, skey_crypt(p, pwd->pw_passwd, pwd, 1)) + if (!(!strcmp(pwd->pw_passwd, skey_crypt((char *) p, pwd->pw_passwd, pwd, 1)) #ifdef WHEELSU || (iswheelsu && !strcmp(targetpass, crypt(p,targetpass))) #endif /* WHEELSU */ @@ -401,7 +404,7 @@ login_close(lc); - execv(shell, np); + execv(shell, (char ** const) np); err(1, "%s", shell); }