diff options
Diffstat (limited to 'src/shared/utmp-wtmp.c')
-rw-r--r-- | src/shared/utmp-wtmp.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/shared/utmp-wtmp.c b/src/shared/utmp-wtmp.c index b31cdd679b..fee5bd1c95 100644 --- a/src/shared/utmp-wtmp.c +++ b/src/shared/utmp-wtmp.c @@ -215,13 +215,14 @@ int utmp_put_init_process(const char *id, pid_t pid, pid_t sid, const char *line } int utmp_put_dead_process(const char *id, pid_t pid, int code, int status) { + _cleanup_(utxent_cleanup) bool utmpx = false; struct utmpx lookup = { .ut_type = INIT_PROCESS /* looks for DEAD_PROCESS, LOGIN_PROCESS, USER_PROCESS, too */ }, store, store_wtmp, *found; assert(id); - setutxent(); + utmpx = utxent_start(); /* Copy the whole string if it fits, or just the suffix without the terminating NUL. */ copy_suffix(store.ut_id, sizeof(store.ut_id), id); @@ -339,6 +340,7 @@ int utmp_wall( bool (*match_tty)(const char *tty, void *userdata), void *userdata) { + _cleanup_(utxent_cleanup) bool utmpx = false; _cleanup_free_ char *text = NULL, *hn = NULL, *un = NULL, *stdin_tty = NULL; struct utmpx *u; int r; @@ -367,7 +369,7 @@ int utmp_wall( message) < 0) return -ENOMEM; - setutxent(); + utmpx = utxent_start(); r = 0; |