Take -lgnuregex out. It causes sed to core.
[unix-history] / usr.bin / passwd / local_passwd.c
index 2e1eb53..37818a6 100644 (file)
@@ -32,7 +32,8 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)local_passwd.c     5.5 (Berkeley) 5/6/91";
+/*static char sccsid[] = "from: @(#)local_passwd.c     5.5 (Berkeley) 5/6/91";*/
+static char rcsid[] = "$Id: local_passwd.c,v 1.5 1993/08/01 18:10:19 mycroft Exp $";
 #endif /* not lint */
 
 #include <sys/types.h>
 #endif /* not lint */
 
 #include <sys/types.h>
@@ -53,14 +54,18 @@ local_passwd(uname)
        char *getnewpasswd();
 
        if (!(pw = getpwnam(uname))) {
        char *getnewpasswd();
 
        if (!(pw = getpwnam(uname))) {
+#ifdef YP
+               extern int use_yp;
+               if (!use_yp)
+#endif
                (void)fprintf(stderr, "passwd: unknown user %s.\n", uname);
                (void)fprintf(stderr, "passwd: unknown user %s.\n", uname);
-               exit(1);
+               return(1);
        }
 
        uid = getuid();
        if (uid && uid != pw->pw_uid) {
                (void)fprintf(stderr, "passwd: %s\n", strerror(EACCES));
        }
 
        uid = getuid();
        if (uid && uid != pw->pw_uid) {
                (void)fprintf(stderr, "passwd: %s\n", strerror(EACCES));
-               exit(1);
+               return(1);
        }
 
        pw_init();
        }
 
        pw_init();
@@ -78,7 +83,7 @@ local_passwd(uname)
 
        if (!pw_mkdb())
                pw_error((char *)NULL, 0, 1);
 
        if (!pw_mkdb())
                pw_error((char *)NULL, 0, 1);
-       exit(0);
+       return(0);
 }
 
 char *
 }
 
 char *
@@ -91,13 +96,9 @@ getnewpasswd(pw)
 
        (void)printf("Changing local password for %s.\n", pw->pw_name);
 
 
        (void)printf("Changing local password for %s.\n", pw->pw_name);
 
-       if (uid && pw->pw_passwd &&
-#ifdef DES
+       if (uid && pw->pw_passwd && *pw->pw_passwd &&
            strcmp(crypt(getpass("Old password:"), pw->pw_passwd),
            pw->pw_passwd)) {
            strcmp(crypt(getpass("Old password:"), pw->pw_passwd),
            pw->pw_passwd)) {
-#else
-           strcmp(getpass("Old password:"), pw->pw_passwd)) {
-#endif
                errno = EACCES;
                pw_error(NULL, 1, 1);
        }
                errno = EACCES;
                pw_error(NULL, 1, 1);
        }
@@ -131,11 +132,7 @@ getnewpasswd(pw)
 #else
        to64(&salt[0], random(), 2);
 #endif
 #else
        to64(&salt[0], random(), 2);
 #endif
-#ifdef DES
        return(crypt(buf, salt));
        return(crypt(buf, salt));
-#else
-       return(buf);
-#endif
 }
 
 static unsigned char itoa64[] =                /* 0 ... 63 => ascii - 64 */
 }
 
 static unsigned char itoa64[] =                /* 0 ... 63 => ascii - 64 */