diff options
author | Florian Weimer <fweimer@redhat.com> | 2019-08-05 15:54:10 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2019-08-05 15:55:05 +0200 |
commit | 1a7fe2ebe52b3c8bf465d1756e69452d05c1c103 (patch) | |
tree | 1d32b2e5a5c55d660354cefb1b02918b62127300 /sysdeps | |
parent | a6c1ce778e5c05a2e6925883b410157ef47654fd (diff) | |
download | glibc-1a7fe2ebe52b3c8bf465d1756e69452d05c1c103.zip glibc-1a7fe2ebe52b3c8bf465d1756e69452d05c1c103.tar.gz glibc-1a7fe2ebe52b3c8bf465d1756e69452d05c1c103.tar.bz2 |
login: Remove utmp backend jump tables [BZ #23518]
There is just one file-based implementation, so this dispatch
mechanism is unnecessary. Instead of the vtable pointer
__libc_utmp_jump_table, use a non-negative file_fd as the indicator
that the backend is initialized.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/unix/getlogin_r.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sysdeps/unix/getlogin_r.c b/sysdeps/unix/getlogin_r.c index 6c564d3..88971a9 100644 --- a/sysdeps/unix/getlogin_r.c +++ b/sysdeps/unix/getlogin_r.c @@ -64,8 +64,8 @@ __getlogin_r (char *name, size_t name_len) held so that our search is thread-safe. */ __libc_lock_lock (__libc_utmp_lock); - (*__libc_utmp_jump_table->setutent) (); - result = (*__libc_utmp_jump_table->getutline_r) (&line, &buffer, &ut); + __libc_setutent (); + result = __libc_getutline_r (&line, &buffer, &ut); if (result < 0) { if (errno == ESRCH) @@ -74,8 +74,7 @@ __getlogin_r (char *name, size_t name_len) else result = errno; } - (*__libc_utmp_jump_table->endutent) (); - __libc_utmp_jump_table = &__libc_utmp_unknown_functions; + __libc_endutent (); __libc_lock_unlock (__libc_utmp_lock); if (result == 0) |