#endif
#include <h/mh.h>
+#include <h/utils.h>
#include <fcntl.h>
#ifdef POP
{ "sasl", SASLminc(-4) },
#define SASLMECHSW 25
{ "saslmech", SASLminc(-8) },
+#define PROXYSW 26
+ { "proxy command", POPminc(-5) },
{ NULL, 0 }
};
int kpop = 0, sasl = 0;
char *cp, *maildir, *folder = NULL;
char *format = NULL, *form = NULL;
- char *host = NULL, *user = NULL;
+ char *host = NULL, *user = NULL, *proxy = NULL;
char *audfile = NULL, *from = NULL, *saslmech = NULL;
char buf[BUFSIZ], **argp, *nfs, **arguments;
struct msgs *mp;
if (!(saslmech = *argp++) || *saslmech == '-')
adios (NULL, "missing argument to %s", argp[-2]);
continue;
+ case PROXYSW:
+ if (!(proxy = *argp++) || *proxy == '-')
+ adios (NULL, "missing argument to %s", argp[-2]);
+ continue;
}
}
if (*cp == '+' || *cp == '@') {
if (folder)
adios (NULL, "only one folder at a time!");
else
- folder = path (cp + 1, *cp == '+' ? TFOLDER : TSUBCWF);
+ folder = pluspath (cp);
} else {
adios (NULL, "usage: %s [+folder] [switches]", invo_name);
}
/*
* initialize POP connection
*/
- if (pop_init (host, user, pass, snoop, kpop ? 1 : rpop, kpop,
+ if (pop_init (host, user, pass, proxy, snoop, kpop ? 1 : rpop, kpop,
sasl, saslmech) == NOTOK)
adios (NULL, "%s", response);
if ((maildir_copy = strdup(maildir)) == (char *)0)
adios (maildir, "error allocating memory to copy maildir");
- if (stat (maildir, &st) == NOTOK) {
- if (errno != ENOENT)
- adios (maildir, "error on folder");
- cp = concat ("Create folder \"", maildir, "\"? ", NULL);
- if (noisy && !getanswer (cp))
- done (1);
- free (cp);
- if (!makedir (maildir))
- adios (NULL, "unable to create folder %s", maildir);
- }
+ if (noisy)
+ create_folder(maildir, 0, done);
+ else
+ done (1);
if (chdir (maildir) == NOTOK)
adios (maildir, "unable to change directory to");