X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/1d08c1e0c0de0d321883ece1c36bce851fe893c7..ef1ba39e8dae81091b6c3e73e72825ef6edea3c6:/uip/inc.c diff --git a/uip/inc.c b/uip/inc.c index 015fbab5..069e3ce5 100644 --- a/uip/inc.c +++ b/uip/inc.c @@ -43,12 +43,6 @@ #include #include -#ifndef CYRUS_SASL -# define SASLminc(a) (a) -#else -# define SASLminc(a) 0 -#endif - #ifndef TLS_SUPPORT # define TLSminc(a) (a) #else @@ -76,12 +70,12 @@ X("version", 0, VERSIONSW) \ X("help", 0, HELPSW) \ X("snoop", 0, SNOOPSW) \ - X("sasl", SASLminc(5), SASLSW) \ - X("nosasl", SASLminc(3), NOSASLSW) \ - X("saslmech", SASLminc(5), SASLMECHSW) \ + X("sasl", 0, SASLSW) \ + X("nosasl", 0, NOSASLSW) \ + X("saslmech", 0, SASLMECHSW) \ X("initialtls", TLSminc(-10), INITTLSSW) \ - X("notls", TLSminc(-12), NOTLSSW) \ - X("authservice", SASLminc(0), AUTHSERVICESW) \ + X("notls", TLSminc(-5), NOTLSSW) \ + X("authservice", 0, AUTHSERVICESW) \ X("proxy command", 0, PROXYSW) \ #define X(sw, minchars, id) id, @@ -182,10 +176,9 @@ maildir_srt(const void *va, const void *vb) const struct Maildir_entry *a = va, *b = vb; if (a->mtime > b->mtime) return 1; - else if (a->mtime < b->mtime) + if (a->mtime < b->mtime) return -1; - else - return 0; + return 0; } int @@ -419,25 +412,21 @@ main (int argc, char **argv) * a POP server? */ if (inc_type == INC_POP) { - struct nmh_creds creds = { 0, 0, 0 }; - if (auth_svc == NULL) { if (saslmech && ! strcasecmp(saslmech, "xoauth2")) { adios (NULL, "must specify -authservice with -saslmech xoauth2"); } - nmh_get_credentials (host, user, sasl, &creds); } else { if (user == NULL) { adios (NULL, "must specify -user with -saslmech xoauth2"); } - creds.user = user; } /* * initialize POP connection */ - if (pop_init (host, port, creds.user, creds.password, proxy, snoop, - sasl, saslmech, tls, auth_svc) == NOTOK) + if (pop_init (host, port, user, proxy, snoop, sasl, saslmech, + tls, auth_svc) == NOTOK) adios (NULL, "%s", response); /* Check if there are any messages */ @@ -517,7 +506,7 @@ main (int argc, char **argv) qsort (Maildir, num_maildir_entries, sizeof(*Maildir), maildir_srt); } - if ((cp = strdup(newmail)) == (char *)0) + if ((cp = strdup(newmail)) == NULL) adios (NULL, "error allocating memory to copy newmail"); newmail = cp; @@ -533,7 +522,7 @@ main (int argc, char **argv) folder = getfolder (0); maildir = m_maildir (folder); - if ((maildir_copy = strdup(maildir)) == (char *)0) + if ((maildir_copy = strdup(maildir)) == NULL) adios (maildir, "error allocating memory to copy maildir"); if (!folder_exists(maildir)) { @@ -640,12 +629,14 @@ go_to_it: msgnum++; if (packfile) { + size_t len; + fseek (pf, 0L, SEEK_CUR); pos = ftell (pf); size = 0; - if (fwrite (mmdlm1, 1, strlen (mmdlm1), pf) < strlen (mmdlm1)) { + len = strlen(mmdlm1); + if (fwrite(mmdlm1, 1, len, pf) < len) advise (mmdlm1, "fwrite"); - } start = ftell (pf); if (pop_retr (i, pop_pack) == NOTOK) @@ -657,7 +648,7 @@ go_to_it: adios (packfile, "write error on"); fseek (pf, start, SEEK_SET); } else { - cp = getcpy (m_name (msgnum)); + cp = mh_xstrdup(m_name (msgnum)); if ((pf = fopen (cp, "w+")) == NULL) adios (cp, "unable to write"); chmod (cp, m_gmprot ()); @@ -699,10 +690,12 @@ go_to_it: charstring_free (scanl); if (packfile) { + size_t len; + fseek (pf, stop, SEEK_SET); - if (fwrite (mmdlm2, 1, strlen (mmdlm2), pf) < strlen (mmdlm1)) { + len = strlen(mmdlm2); + if (fwrite(mmdlm2, 1, len, pf) < len) advise (mmdlm2, "fwrite"); - } if (fflush (pf) || ferror (pf)) { int e = errno; pop_quit (); @@ -773,7 +766,7 @@ go_to_it: */ (void)snprintf(b, sizeof (b), "%s/%d", maildir_copy, msgnum + 1); - (void)ext_hook("add-hook", b, (char *)0); + (void)ext_hook("add-hook", b, NULL); if (aud) fputs (charstring_buffer (scanl), aud); @@ -802,7 +795,7 @@ go_to_it: msgnum++; sp = Maildir[i].filename; - cp = getcpy (m_name (msgnum)); + cp = mh_xstrdup(m_name (msgnum)); pf = NULL; if (!trnflag || link(sp, cp) == -1) { static char buf[65536]; @@ -854,7 +847,7 @@ go_to_it: */ (void)snprintf(b, sizeof (b), "%s/%d", maildir_copy, msgnum + 1); - (void)ext_hook("add-hook", b, (char *)0); + (void)ext_hook("add-hook", b, NULL); if (aud) fputs (charstring_buffer (scanl), aud);