OSDN Git Service

* passwd.cc (getpwnam_r): Add pw_passwd handling as well.
authorcorinna <corinna>
Tue, 24 Apr 2001 21:52:57 +0000 (21:52 +0000)
committercorinna <corinna>
Tue, 24 Apr 2001 21:52:57 +0000 (21:52 +0000)
        (getpwuid_r): Ditto.

winsup/cygwin/ChangeLog
winsup/cygwin/passwd.cc

index 582f637..974298c 100644 (file)
@@ -1,3 +1,8 @@
+Tue Apr 24 23:51:00 2001  Corinna Vinschen <corinna@vinschen.de>
+
+       * passwd.cc (getpwnam_r): Add pw_passwd handling as well.
+       (getpwuid_r): Ditto.
+
 Tue Apr 24 23:43:00 2001  Corinna Vinschen <corinna@vinschen.de>
 
        * passwd.cc (getpwnam_r): Use correct offsets into buffer.
index 405d8d8..8440864 100644 (file)
@@ -231,7 +231,8 @@ getpwuid_r (uid_t uid, struct passwd *pwd, char *buffer, size_t bufsize, struct
 
   /* check needed buffer size. */
   size_t needsize = strlen (temppw->pw_name) + strlen (temppw->pw_dir) +
-                   strlen (temppw->pw_shell) + strlen (temppw->pw_gecos) + 4;
+                   strlen (temppw->pw_shell) + strlen (temppw->pw_gecos) +
+                   strlen (temppw->pw_passwd) + 5;
   if (needsize > bufsize)
     return ERANGE;
 
@@ -243,10 +244,12 @@ getpwuid_r (uid_t uid, struct passwd *pwd, char *buffer, size_t bufsize, struct
   pwd->pw_dir = pwd->pw_name + strlen (temppw->pw_name) + 1;
   pwd->pw_shell = pwd->pw_dir + strlen (temppw->pw_dir) + 1;
   pwd->pw_gecos = pwd->pw_shell + strlen (temppw->pw_shell) + 1;
+  pwd->pw_passwd = pwd->pw_gecos + strlen (temppw->pw_gecos) + 1;
   strcpy (pwd->pw_name, temppw->pw_name);
   strcpy (pwd->pw_dir, temppw->pw_dir);
   strcpy (pwd->pw_shell, temppw->pw_shell);
   strcpy (pwd->pw_gecos, temppw->pw_gecos);
+  strcpy (pwd->pw_passwd, temppw->pw_passwd);
   return 0;
 }
 
@@ -286,7 +289,8 @@ getpwnam_r (const char *nam, struct passwd *pwd, char *buffer, size_t bufsize, s
 
   /* check needed buffer size. */
   size_t needsize = strlen (temppw->pw_name) + strlen (temppw->pw_dir) +
-                   strlen (temppw->pw_shell) + strlen (temppw->pw_gecos) + 4;
+                   strlen (temppw->pw_shell) + strlen (temppw->pw_gecos) +
+                   strlen (temppw->pw_passwd) + 5;
   if (needsize > bufsize)
     return ERANGE;
     
@@ -298,10 +302,12 @@ getpwnam_r (const char *nam, struct passwd *pwd, char *buffer, size_t bufsize, s
   pwd->pw_dir = pwd->pw_name + strlen (temppw->pw_name) + 1;
   pwd->pw_shell = pwd->pw_dir + strlen (temppw->pw_dir) + 1;
   pwd->pw_gecos = pwd->pw_shell + strlen (temppw->pw_shell) + 1;
+  pwd->pw_passwd = pwd->pw_gecos + strlen (temppw->pw_gecos) + 1;
   strcpy (pwd->pw_name, temppw->pw_name);
   strcpy (pwd->pw_dir, temppw->pw_dir);
   strcpy (pwd->pw_shell, temppw->pw_shell);
   strcpy (pwd->pw_gecos, temppw->pw_gecos);
+  strcpy (pwd->pw_passwd, temppw->pw_passwd);
   return 0;
 }