* 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)
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 ();
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 ...]",
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;
}
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);
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;
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");
}
}
if (nmsgs) {
if (notifysw & NT_MAIL) {
if (personal)
- printf ("You have ");
+ fputs("You have ", stdout);
else
printf ("%s has ", user);
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);