[BACK]Return to pw_yp.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / chpass

Diff for /src/usr.bin/chpass/Attic/pw_yp.c between version 1.19 and 1.20

version 1.19, 2003/07/02 21:04:09 version 1.20, 2005/04/11 07:13:03
Line 63 
Line 63 
 int  int
 pw_yp(struct passwd *pw, uid_t uid)  pw_yp(struct passwd *pw, uid_t uid)
 {  {
         char buf[11], *master, *p;          char uidbuf[20], gidbuf[20], *master, *p;
         int r, rpcport, status, alen;          int r, rpcport, status, alen;
         struct yppasswd yppasswd;          struct yppasswd yppasswd;
         struct timeval tv;          struct timeval tv;
Line 123 
Line 123 
         for (alen = 0, p = pw->pw_gecos; *p; p++)          for (alen = 0, p = pw->pw_gecos; *p; p++)
                 if (*p == '&')                  if (*p == '&')
                         alen = alen + strlen(pw->pw_name) - 1;                          alen = alen + strlen(pw->pw_name) - 1;
           (void)snprintf(uidbuf, sizeof uidbuf, "%u", pw->pw_uid);
           (void)snprintf(gidbuf, sizeof gidbuf, "%u", pw->pw_gid);
   
         if (strlen(pw->pw_name) + 1 + strlen(pw->pw_passwd) + 1 +          if (strlen(pw->pw_name) + 1 + strlen(pw->pw_passwd) + 1 +
             strlen((snprintf(buf, sizeof buf, "%u", pw->pw_uid), buf)) + 1 +              strlen(uidbuf) + 1 + strlen(gidbuf) + 1 +
             strlen((snprintf(buf, sizeof buf, "%u", pw->pw_gid), buf)) + 1 +  
             strlen(pw->pw_gecos) + alen + 1 + strlen(pw->pw_dir) + 1 +              strlen(pw->pw_gecos) + alen + 1 + strlen(pw->pw_dir) + 1 +
             strlen(pw->pw_shell) >= 1023) {              strlen(pw->pw_shell) >= 1023) {
                 warnx("entries too long");                  warnx("entries too long");

Legend:
Removed from v.1.19  
changed lines
  Added in v.1.20