+ if (index(p, '.'))
+ (void)fprintf(stderr,
+ "chpass: \'.\' is dangerous in a login name.\n");
+ for (; *p; ++p)
+ if (isupper(*p)) {
+ (void)fprintf(stderr,
+ "chpass: upper-case letters are dangerous in a login name.\n");
+ break;
+ }
+ return(0);
+}
+
+/* ARGSUSED */
+p_passwd(p, pw, ep)
+ char *p;
+ struct passwd *pw;
+ struct entry *ep;
+{
+ if (!*p)
+ pw->pw_passwd = ""; /* "NOLOGIN"; */
+ else if (!(pw->pw_passwd = strdup(p))) {
+ (void)fprintf(stderr, "chpass: can't save password entry.\n");
+ return(1);
+ }
+