Index: acconfig.h =================================================================== RCS file: /cvsroot/nmh/nmh/acconfig.h,v retrieving revision 1.22 diff -d -p -u -r1.22 acconfig.h --- acconfig.h 22 Dec 2000 23:42:16 -0000 1.22 +++ acconfig.h 14 Oct 2004 11:19:26 -0000 @@ -260,6 +260,9 @@ /* Define to 1 if struct tm has gmtoff */ #undef HAVE_TM_GMTOFF +/* Define to 1 if struct utmp has ut_type */ +#undef HAVE_UTMP_UT_TYPE + /* Define if your system has sigsetjmp */ #undef HAVE_SIGSETJMP Index: configure.in =================================================================== RCS file: /cvsroot/nmh/nmh/configure.in,v retrieving revision 1.65 diff -d -p -u -r1.65 configure.in --- configure.in 6 Oct 2003 20:11:54 -0000 1.65 +++ configure.in 14 Oct 2004 11:19:26 -0000 @@ -746,6 +746,15 @@ if test $nmh_cv_struct_tm_gmtoff = yes; AC_DEFINE(HAVE_TM_GMTOFF) fi +AC_CACHE_CHECK(for ut_type in struct utmp, nmh_cv_struct_utmp_ut_type, +[AC_TRY_COMPILE( +[#include ], +[struct utmp temputmp; temputmp.ut_type = 0;], + nmh_cv_struct_utmp_ut_type=yes, nmh_cv_struct_utmp_ut_type=no)]) +if test $nmh_cv_struct_utmp_ut_type = yes; then + AC_DEFINE(HAVE_UTMP_UT_TYPE) +fi + dnl ------------- dnl CHECK SIGNALS dnl ------------- Index: uip/rcvtty.c =================================================================== RCS file: /cvsroot/nmh/nmh/uip/rcvtty.c,v retrieving revision 1.12 diff -d -p -u -r1.12 rcvtty.c --- uip/rcvtty.c 2 Jul 2002 22:09:15 -0000 1.12 +++ uip/rcvtty.c 14 Oct 2004 11:19:26 -0000 @@ -176,10 +176,14 @@ main (int argc, char **argv) #ifdef HAVE_GETUTENT setutent(); while ((utp = getutent()) != NULL) { - if (utp->ut_type == USER_PROCESS - && utp->ut_user[0] != 0 + if ( +#ifdef HAVE_UTMP_UT_TYPE + utp->ut_type == USER_PROCESS + && +#endif + utp->ut_name[0] != 0 && utp->ut_line[0] != 0 - && strncmp (user, utp->ut_user, sizeof(utp->ut_user)) == 0) { + && strncmp (user, utp->ut_name, sizeof(utp->ut_name)) == 0) { strncpy (tty, utp->ut_line, sizeof(utp->ut_line)); alert (tty, md); } Index: uip/slocal.c =================================================================== RCS file: /cvsroot/nmh/nmh/uip/slocal.c,v retrieving revision 1.17 diff -d -p -u -r1.17 slocal.c --- uip/slocal.c 6 Oct 2003 20:11:39 -0000 1.17 +++ uip/slocal.c 14 Oct 2004 11:19:27 -0000 @@ -965,9 +965,13 @@ logged_in (void) setutent(); while ((utp = getutent()) != NULL) { - if (utp->ut_type == USER_PROCESS - && utp->ut_user[0] != 0 - && strncmp (user, utp->ut_user, sizeof(utp->ut_user)) == 0) { + if ( +#ifdef HAVE_UTMP_UT_TYPE + utp->ut_type == USER_PROCESS + && +#endif + utp->ut_name[0] != 0 + && strncmp (user, utp->ut_name, sizeof(utp->ut_name)) == 0) { if (debug) continue; endutent();