Removed unused function seek_home().
[mmh] / uip / rcvtty.c
index 6c08dae..29f2dd9 100644 (file)
@@ -14,6 +14,7 @@
 
 #include <h/mh.h>
 #include <h/signals.h>
+#include <setjmp.h>
 #include <h/rcvmail.h>
 #include <h/scansbr.h>
 #include <h/tws.h>
 #include <signal.h>
 #include <fcntl.h>
 
-#include <utmp.h>
-
-#ifndef HAVE_GETUTENT
-# ifndef UTMP_FILE
-#  ifdef _PATH_UTMP
-#   define UTMP_FILE _PATH_UTMP
-#  else
-#   define UTMP_FILE "/etc/utmp"
-#  endif
-# endif
-#endif
+#ifdef HAVE_GETUTXENT
+#include <utmpx.h>
+#endif /* HAVE_GETUTXENT */
 
 #define        SCANFMT \
 "%2(hour{dtimenow}):%02(min{dtimenow}): %<(size)%5(size) %>%<{encrypted}E%>\
@@ -90,13 +83,7 @@ main (int argc, char **argv)
     int md, vecp = 0;
     char *cp, *user, buf[BUFSIZ], tty[BUFSIZ];
     char **argp, **arguments, *vec[MAXARGS];
-#ifdef HAVE_GETUTENT
-    struct utmp * utp;
-#else
-    struct utmp ut;
-    register FILE *uf;
-#endif
-
+    struct utmpx *utp;
 #ifdef LOCALE
     setlocale(LC_ALL, "");
 #endif
@@ -122,10 +109,10 @@ main (int argc, char **argv)
                case HELPSW: 
                    snprintf (buf, sizeof(buf), "%s [command ...]", invo_name);
                    print_help (buf, switches, 1);
-                   done (1);
+                   done (0);
                case VERSIONSW:
                    print_version(invo_name);
-                   done (1);
+                   done (0);
 
                case BIFFSW:
                    biff = 1;
@@ -171,33 +158,18 @@ main (int argc, char **argv)
 
     user = getusername();
 
-#ifdef HAVE_GETUTENT
-    setutent();
-    while ((utp = getutent()) != NULL) {
-        if (
-#ifdef HAVE_STRUCT_UTMP_UT_TYPE
-              utp->ut_type == USER_PROCESS 
-              &&
-#endif
-               utp->ut_name[0] != 0
+#if HAVE_GETUTXENT
+    setutxent();
+    while ((utp = getutxent()) != NULL) {
+        if (utp->ut_type == USER_PROCESS && 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);
         }
     }
-    endutent();
-#else
-    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) {
-           strncpy (tty, ut.ut_line, sizeof(ut.ut_line));
-           alert (tty, md);
-       }
-    fclose (uf);
-#endif
+    endutxent();
+#endif /* HAVE_GETUTXENT */
 
     exit (RCV_MOK);
     return 0;  /* dead code to satisfy the compiler */
@@ -207,9 +179,7 @@ main (int argc, char **argv)
 static void
 alrmser (int i)
 {
-#ifndef RELIABLE_SIGNALS
-    SIGNAL (SIGALRM, alrmser);
-#endif
+    NMH_UNUSED (i);
 
     longjmp (myctx, 1);
 }