nmh-1.2 has not been updated for the new utmpx implementation. The patch is not terribly large. I haven't figured how to conditionally patch for Current, vs. leaving it alone on other releases. Here's the patch anyway. ------------------------ Patch follows ---------------------------------
--- uip/rcvtty.c.orig 2010-09-18 14:23:38.000000000 -0400 +++ uip/rcvtty.c 2010-09-18 14:27:18.000000000 -0400 @@ -23,7 +23,7 @@ #include <signal.h> #include <fcntl.h> -#include <utmp.h> +#include <utmpx.h> #ifndef HAVE_GETUTENT # ifndef UTMP_FILE @@ -93,9 +93,9 @@ char *cp, *user, buf[BUFSIZ], tty[BUFSIZ]; char **argp, **arguments, *vec[MAXARGS]; #ifdef HAVE_GETUTENT - struct utmp * utp; + struct utmpx * utp; #else - struct utmp ut; + struct utmpx ut; register FILE *uf; #endif @@ -181,9 +181,9 @@ utp->ut_type == USER_PROCESS && #endif - utp->ut_name[0] != 0 + utp->ut_user[0] != 0 && utp->ut_line[0] != 0 - && strncmp (user, utp->ut_name, sizeof(utp->ut_name)) == 0) { + && strncmp (user, utp->ut_user, sizeof(utp->ut_user)) == 0) { strncpy (tty, utp->ut_line, sizeof(utp->ut_line)); alert (tty, md); } @@ -193,8 +193,8 @@ if ((uf = fopen (UTMP_FILE, "r")) == NULL) exit (RCV_MBX); while (fread ((char *) &ut, sizeof(ut), 1, uf) == 1) - if (ut.ut_name[0] != 0 - && strncmp (user, ut.ut_name, sizeof(ut.ut_name)) == 0) { + if (ut.ut_user[0] != 0 + && strncmp (user, ut.ut_user, sizeof(ut.ut_user)) == 0) { strncpy (tty, ut.ut_line, sizeof(ut.ut_line)); alert (tty, md); } --- uip/slocal.c.orig 2010-09-18 14:24:09.000000000 -0400 +++ uip/slocal.c 2010-09-18 14:29:11.000000000 -0400 @@ -64,7 +64,7 @@ #endif #endif -#include <utmp.h> +#include <utmpx.h> #ifndef HAVE_GETUTENT # ifndef UTMP_FILE @@ -957,7 +957,7 @@ static int logged_in (void) { - struct utmp * utp; + struct utmpx * utp; if (utmped) return utmped; @@ -970,8 +970,8 @@ utp->ut_type == USER_PROCESS && #endif - utp->ut_name[0] != 0 - && strncmp (user, utp->ut_name, sizeof(utp->ut_name)) == 0) { + utp->ut_user[0] != 0 + && strncmp (user, utp->ut_user, sizeof(utp->ut_user)) == 0) { if (debug) continue; endutent(); @@ -986,7 +986,7 @@ static int logged_in (void) { - struct utmp ut; + struct utmpx ut; FILE *uf; if (utmped) @@ -996,8 +996,8 @@ return NOTOK; while (fread ((char *) &ut, sizeof(ut), 1, uf) == 1) { - if (ut.ut_name[0] != 0 - && strncmp (user, ut.ut_name, sizeof(ut.ut_name)) == 0) { + if (ut.ut_user[0] != 0 + && strncmp (user, ut.ut_user, sizeof(ut.ut_user)) == 0) { if (debug) continue; fclose (uf); ---------------------- Patch precedes -------------------------------- -- Best regards, Derek Tattersall d...@mebtel.net dlt...@yahoo.com dtatt...@gmail.com _______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"