Tue Jun 4 21:01:20 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
authorroland <roland>
Wed, 5 Jun 1996 03:28:54 +0000 (03:28 +0000)
committerroland <roland>
Wed, 5 Jun 1996 03:28:54 +0000 (03:28 +0000)
* sysdeps/unix/getlogin.c: Must pass struct utmp ptr to getutline_r.
* sysdeps/unix/getlogin_r.c: Likewise.

sysdeps/unix/getlogin.c
sysdeps/unix/getlogin_r.c

index 00baf68..7446f25 100644 (file)
@@ -36,7 +36,7 @@ DEFUN_VOID(getlogin)
   char *real_tty_path = tty_pathname;
   char *result = NULL;
   static struct utmp_data utmp_data;
-  struct utmp *ut;
+  struct utmp *ut, line;
 
   {
     int err = 0;
@@ -58,7 +58,8 @@ DEFUN_VOID(getlogin)
   real_tty_path += 5;          /* Remove "/dev/".  */
 
   setutent_r (&utmp_data);
-  if (getutline_r (real_tty_path, &ut, &utmp_data) < 0)
+  strncpy (line.ut_line, real_tty_path, sizeof line.ut_line);
+  if (getutline_r (&line, &ut, &utmp_data) < 0)
     {
       if (errno == ESRCH)
        /* The caller expects ENOENT if nothing is found.  */
index 15afdee..154a9d3 100644 (file)
@@ -39,7 +39,7 @@ getlogin_r (name, name_len)
   char *real_tty_path = tty_pathname;
   int result = 0;
   struct utmp_data utmp_data;
-  struct utmp *ut;
+  struct utmp *ut, line;
 
   {
     int err;
@@ -61,7 +61,8 @@ getlogin_r (name, name_len)
   real_tty_path += 5;          /* Remove "/dev/".  */
 
   setutent_r (&utmp_data);
-  if (getutline_r (real_tty_path, &ut, &utmp_data) < 0)
+  strncpy (line.ut_line, real_tty_path, sizeof line.ut_line);
+  if (getutline_r (&line, &ut, &utmp_data) < 0)
     {
       if (errno == ESRCH)
        /* The caller expects ENOENT if nothing is found.  */