$NetBSD: patch-al,v 1.1 2002/09/15 06:51:39 kim Exp $ Make extra calls to remove utmp entries when utmpx is used. For non-login entries we only update utmpx, as it stores more information, and utilities are reading both. --- utmp.c.orig Tue Jan 8 10:44:37 2002 +++ utmp.c Sun Sep 15 02:36:15 2002 @@ -47,6 +47,12 @@ extern int real_uid, eff_uid; +#ifdef NetBSD_UTMP +extern void utmp_login __P((char *)); +extern void utmp_logout __P((char *)); +#endif + + /* * UTNOKEEP: A (ugly) hack for apollo that does two things: * 1) Always close and reopen the utmp file descriptor. (I don't know @@ -314,6 +320,9 @@ ASSERT(display); debug("RemoveLoginSlot: removing your logintty\n"); +#ifdef NetBSD_UTMP + utmp_logout(stripdev(D_usertty)); +#endif D_loginslot = TtyNameSlot(D_usertty); if (D_loginslot == (slot_t)0 || D_loginslot == (slot_t)-1) return; @@ -378,6 +387,9 @@ debug("RestoreLoginSlot()\n"); ASSERT(display); +#ifdef NetBSD_UTMP + utmp_login(stripdev(D_usertty)); +#endif if (utmpok && D_loginslot != (slot_t)0 && D_loginslot != (slot_t)-1) { debug1(" logging you in again (slot %#x)\n", (int)D_loginslot);