summaryrefslogtreecommitdiff
path: root/lib-src/movemail.c
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>1999-12-10 09:53:01 +0000
committerGerd Moellmann <gerd@gnu.org>1999-12-10 09:53:01 +0000
commit476b279958670c44467e61c0e31a822da490fee3 (patch)
tree93f55312e6095c079f550c3738b771d8c6dfdcef /lib-src/movemail.c
parentdfa1c6ae2c3ff364c935f383170093826a950284 (diff)
downloademacs-476b279958670c44467e61c0e31a822da490fee3.tar.gz
(popmail): Allow mailbox specifications of the
form `po:username:hostname'.
Diffstat (limited to 'lib-src/movemail.c')
-rw-r--r--lib-src/movemail.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/lib-src/movemail.c b/lib-src/movemail.c
index df5cb5a2d1f..ed13e9f6be8 100644
--- a/lib-src/movemail.c
+++ b/lib-src/movemail.c
@@ -685,8 +685,20 @@ char ibuffer[BUFSIZ];
char obuffer[BUFSIZ];
char Errmsg[80];
-popmail (user, outfile, preserve, password, reverse_order)
- char *user;
+/*
+ * The full legal syntax for a POP mailbox specification for movemail
+ * is "po:username:hostname". The ":hostname" is optional; if it is
+ * omitted, the MAILHOST environment variable will be consulted. Note
+ * that by the time popmail() is called the "po:" has been stripped
+ * off of the front of the mailbox name.
+ *
+ * If the mailbox is in the form "po:username:hostname", then it is
+ * modified by this function -- the second colon is replaced by a
+ * null.
+ */
+
+popmail (mailbox, outfile, preserve, password, reverse_order)
+ char *mailbox;
char *outfile;
int preserve;
char *password;
@@ -699,8 +711,13 @@ popmail (user, outfile, preserve, password, reverse_order)
char *getenv ();
popserver server;
int start, end, increment;
+ char *user, *hostname;
+
+ user = mailbox;
+ if ((hostname = index(mailbox, ':')))
+ *hostname++ = '\0';
- server = pop_open (0, user, password, POP_NO_GETPASS);
+ server = pop_open (hostname, user, password, POP_NO_GETPASS);
if (! server)
{
error ("Error connecting to POP server: %s", pop_error);