--- rxvt-2.7.1/src/Makefile.in.old Sun Oct 24 19:12:47 1999 +++ rxvt-2.7.1/src/Makefile.in Sun Oct 24 19:14:31 1999 @@ -62,7 +62,7 @@ all: protos rxvt rxvt: version.h $(OBJS) - $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(XLIB) $(DLIB) + $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(XLIB) $(DLIB) -lutempter -lutil protos: @for I in $(EXTPROS); do \ --- rxvt-2.7.1/src/command.c.old Sun Oct 24 16:56:43 1999 +++ rxvt-2.7.1/src/command.c Sun Oct 24 19:40:41 1999 @@ -190,7 +190,7 @@ privileges(RESTORE); if (action == SAVE) { next_action = RESTORE; - makeutent(ttydev, rs[Rs_display_name]); + makeutent(ttydev, rs[Rs_display_name], cmd_fd); } else if (action == RESTORE) { next_action = IGNORE; cleanutent(); @@ -422,7 +422,15 @@ const char *c1, *c2; char pty_name[] = "/dev/pty??"; char tty_name[] = "/dev/tty??"; +#ifdef UTEMPTER + int s; + ttydev = malloc(30); + + if (openpty(&pfd, &s, ttydev, NULL, NULL)) + return -1; + goto Found_pty; +#endif len = sizeof(pty_name) - 3; ptydev = pty_name; ttydev = tty_name; --- rxvt-2.7.1/src/logging.c.old Sun Oct 24 15:23:07 1999 +++ rxvt-2.7.1/src/logging.c Sun Oct 24 19:40:22 1999 @@ -64,6 +64,7 @@ * update wtmp entries */ /* ------------------------------------------------------------------------- */ +#ifndef UTEMPTER #if defined(WTMP_SUPPORT) && !defined(RXVT_UTMP_AS_UTMPX) /* INTPROTO */ void @@ -101,6 +102,7 @@ (void)close(fd); } #endif +#endif /* UTEMPTER */ /* ------------------------------------------------------------------------- */ #ifndef USE_SYSV_UTMP @@ -125,7 +127,12 @@ */ /* EXTPROTO */ void -makeutent(const char *pty, const char *hostname) +makeutent(const char *pty, const char *hostname, int cmdfd) +#ifdef UTEMPTER +{ + addToUtmp(pty, NULL, cmdfd); +} +#else #ifndef USE_SYSV_UTMP /* ------------------------------ BSD ------------------------------ */ { @@ -243,6 +250,7 @@ endutent(); /* close the file */ } #endif /* !USE_SYSV_UTMP */ +#endif /* UTEMPTER */ /* ------------------------------------------------------------------------- */ /* @@ -251,6 +259,11 @@ /* EXTPROTO */ void cleanutent(void) +#ifdef UTEMPTER +{ + removeFromUtmp(); +} +#else #ifndef USE_SYSV_UTMP /* ------------------------------ BSD ------------------------------ */ { @@ -305,4 +318,5 @@ endutent(); } #endif /* !USE_SYSV_UTMP */ +#endif /* UTEMPTER */ #endif /* UTMP_SUPPORT */