]> diplodocus.org Git - nmh/blobdiff - uip/msgchk.c
vector.c: Move interface to own file.
[nmh] / uip / msgchk.c
index 3e04f8f7bd880a32d038edabaeec4450482adf9d..12b5ee2de4cd33b667bf78713024775b3fb28363 100644 (file)
@@ -5,14 +5,17 @@
  * complete copyright information.
  */
 
-#include <h/mh.h>
-#include <h/mts.h>
-#include <h/tws.h>
+#include "h/mh.h"
+#include "sbr/print_version.h"
+#include "sbr/print_help.h"
+#include "sbr/error.h"
+#include "h/mts.h"
+#include "h/tws.h"
 #include "h/done.h"
-#include <h/utils.h>
+#include "h/utils.h"
 #include <pwd.h>
 
-#include <h/popsbr.h>
+#include "h/popsbr.h"
 
 #ifndef CYRUS_SASL
 # define SASLminc(a) (a)
@@ -78,15 +81,20 @@ static int remotemail (char *, char *, char *, char *, int, int, int, int,
 int
 main (int argc, char **argv)
 {
-    int datesw = 1, notifysw = NT_ALL;
-    int status = 0, sasl = 0, tls = 0, noverify = 0;
-    int snoop = 0, vecp = 0;
+    bool datesw = true;
+    int notifysw = NT_ALL;
+    int status = 0;
+    bool sasl = false;
+    bool tls = false;
+    bool noverify = false;
+    bool snoop = false;
+    int vecp = 0;
     char *cp, *host = NULL, *port = NULL, *user = NULL, *proxy = NULL;
     char buf[BUFSIZ], *saslmech = NULL, *auth_svc = NULL;
     char **argp, **arguments, *vec[MAXVEC];
     struct passwd *pw;
 
-    if (nmh_init(argv[0], 1)) { return 1; }
+    if (nmh_init(argv[0], true, true)) { return 1; }
 
     mts_init ();
 
@@ -100,7 +108,7 @@ main (int argc, char **argv)
                    ambigsw (cp, switches);
                    done (1);
                case UNKWNSW: 
-                   adios (NULL, "-%s unknown", cp);
+                   die("-%s unknown", cp);
 
                case HELPSW: 
                    snprintf (buf, sizeof(buf), "%s [switches] [users ...]",
@@ -112,91 +120,91 @@ main (int argc, char **argv)
                    done (0);
 
                case DATESW:
-                   datesw++;
+                   datesw = true;
                    continue;
                case NDATESW:
-                   datesw = 0;
+                   datesw = false;
                    continue;
 
                case NOTESW:
                    if (!(cp = *argp++) || *cp == '-')
-                       adios (NULL, "missing argument to %s", argp[-2]);
+                       die("missing argument to %s", argp[-2]);
                    notifysw |= donote (cp, 1);
                    continue;
                case NNOTESW:
                    if (!(cp = *argp++) || *cp == '-')
-                       adios (NULL, "missing argument to %s", argp[-2]);
+                       die("missing argument to %s", argp[-2]);
                    notifysw &= ~donote (cp, 0);
                    continue;
 
                case HOSTSW: 
                    if (!(host = *argp++) || *host == '-')
-                       adios (NULL, "missing argument to %s", argp[-2]);
+                       die("missing argument to %s", argp[-2]);
                    continue;
 
                case PORTSW:
                    if (!(port = *argp++) || *port == '-')
-                       adios (NULL, "missing argument to %s", argp[-2]);
+                       die("missing argument to %s", argp[-2]);
                continue;
 
                case USERSW: 
                    if (!(cp = *argp++) || *cp == '-')
-                       adios (NULL, "missing argument to %s", argp[-2]);
+                       die("missing argument to %s", argp[-2]);
                    if (vecp >= MAXVEC-1)
-                       adios (NULL, "you can only check %d users at a time", MAXVEC-1);
+                       die("you can only check %d users at a time", MAXVEC-1);
                     user = vec[vecp++] = cp;
                    continue;
 
                case SNOOPSW:
-                   snoop++;
+                   snoop = true;
                    continue;
 
                case SASLSW:
-                   sasl++;
+                   sasl = true;
                    continue;
                
                case NOSASLSW:
-                   sasl = 0;
+                   sasl = false;
                    continue;
 
                case SASLMECHSW:
                    if (!(saslmech = *argp++) || *saslmech == '-')
-                       adios (NULL, "missing argument to %s", argp[-2]);
+                       die("missing argument to %s", argp[-2]);
                    continue;
 
                case INITTLSSW:
-                   tls++;
+                   tls = true;
                    continue;
 
                case NOTLSSW:
-                   tls = 0;
+                   tls = false;
                    continue;
 
                case CERTVERSW:
-                   noverify = 0;
+                   noverify = false;
                    continue;
 
                case NOCERTVERSW:
-                   noverify++;
+                   noverify = true;
                    continue;
 
                case AUTHSERVICESW:
 #ifdef OAUTH_SUPPORT
                    if (!(auth_svc = *argp++) || *auth_svc == '-')
-                       adios (NULL, "missing argument to %s", argp[-2]);
+                       die("missing argument to %s", argp[-2]);
 #else
-                   adios (NULL, "not built with OAuth support");
+                   die("not built with OAuth support");
 #endif
                    continue;
 
                case PROXYSW:
                    if (!(proxy = *argp++) || *proxy == '-')
-                       adios (NULL, "missing argument to %s", argp[-2]);
+                       die("missing argument to %s", argp[-2]);
                    continue;
            }
        }
        if (vecp >= MAXVEC-1)
-           adios (NULL, "you can only check %d users at a time", MAXVEC-1);
+           die("you can only check %d users at a time", MAXVEC-1);
         vec[vecp++] = cp;
     }
 
@@ -243,7 +251,7 @@ main (int argc, char **argv)
            if (!geteuid() || NULL == (home = getenv("HOME"))) {
                pw = getpwnam (user);
                if (pw == NULL)
-                   adios (NULL, "unable to get information about user");
+                   die("unable to get information about user");
                home = pw->pw_dir;
            }
            status = checkmail (user, home, datesw, notifysw, 1);
@@ -284,7 +292,7 @@ donote (char *cp, int ntflag)
            ambigsw (cp, ntswitches);
            done (1);
        case UNKWNSW: 
-           adios (NULL, "-%snotify %s unknown", ntflag ? "" : "no", cp);
+           die("-%snotify %s unknown", ntflag ? "" : "no", cp);
 
        case NALLSW: 
            return NT_ALL;
@@ -344,15 +352,16 @@ remotemail (char *host, char *port, char *user, char *proxy, int notifysw,
            int personal, int snoop, int sasl, char *saslmech, int tls,
            const char *auth_svc)
 {
-    int nmsgs, nbytes, status;
+    int nmsgs, nbytes;
+    bool status;
 
     if (auth_svc == NULL) {
        if (saslmech  &&  ! strcasecmp(saslmech, "xoauth2")) {
-           adios (NULL, "must specify -authservice with -saslmech xoauth2");
+           die("must specify -authservice with -saslmech xoauth2");
        }
     } else {
        if (user == NULL) {
-           adios (NULL, "must specify -user with -saslmech xoauth2");
+           die("must specify -user with -saslmech xoauth2");
        }
     }
 
@@ -368,7 +377,7 @@ remotemail (char *host, char *port, char *user, char *proxy, int notifysw,
     if (nmsgs) {
        if (notifysw & NT_MAIL) {
            if (personal)
-               printf ("You have ");
+               fputs("You have ", stdout);
            else
                printf ("%s has ", user);
 
@@ -378,14 +387,14 @@ remotemail (char *host, char *port, char *user, char *proxy, int notifysw,
        else
            notifysw = 0;
 
-       status = 0;
+       status = false;
     } else {
        if (notifysw & NT_NMAI)
            printf (personal ? "You don't %s%s" : "%s doesn't %s",
                    personal ? "" : user, "have any mail waiting");
        else
            notifysw = 0;
-       status = 1;
+       status = true;
     }
     if (notifysw)
        printf (" on %s\n", host);