about summary refs log tree commit diff
path: root/login
diff options
context:
space:
mode:
Diffstat (limited to 'login')
-rw-r--r--login/getutent_r.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/login/getutent_r.c b/login/getutent_r.c
index ed4c330f73..98c5469463 100644
--- a/login/getutent_r.c
+++ b/login/getutent_r.c
@@ -31,7 +31,7 @@
 /* The various backends we have.  */
 static int getutent_r_unknown (struct utmp *buffer, struct utmp **result);
 static struct utmp *pututline_unknown (const struct utmp *data);
-static void setutent_unknown (void);
+static int setutent_unknown (void);
 static void endutent_unknown (void);
 
 /* Initial Jump table.  */
@@ -79,17 +79,22 @@ weak_alias (__endutent, endutent)
 weak_alias (__endutent, endutxent)
 
 
-static void
+static int
 setutent_unknown (void)
 {
+  int result;
+
   /* See whether utmpd is running.  */
-  if ((*__libc_utmp_daemon_functions.setutent) ())
+  result = (*__libc_utmp_daemon_functions.setutent) ();
+  if (result)
     __libc_utmp_jump_table = &__libc_utmp_daemon_functions;
   else
     {
-      (*__libc_utmp_file_functions.setutent) ();
+      result = (*__libc_utmp_file_functions.setutent) ();
       __libc_utmp_jump_table = &__libc_utmp_file_functions;
     }
+
+  return result;
 }