multiple mail boxes (Lou Kamenov)
diff --git a/src/cmd/acme/mail/dat.h b/src/cmd/acme/mail/dat.h index 4b5c23c..9a6be95 100644 --- a/src/cmd/acme/mail/dat.h +++ b/src/cmd/acme/mail/dat.h
@@ -170,6 +170,7 @@ extern char *mailboxdir; extern char *mboxname; extern char *user; +extern char *srvname; extern char deleted[]; extern int wctlfd; extern int shortmenu;
diff --git a/src/cmd/acme/mail/mail.c b/src/cmd/acme/mail/mail.c index 988c53c..326d7bc 100644 --- a/src/cmd/acme/mail/mail.c +++ b/src/cmd/acme/mail/mail.c
@@ -42,7 +42,7 @@ void usage(void) { - fprint(2, "usage: Mail [-sS] [-o outgoing] [mailboxname [directoryname]]\n"); + fprint(2, "usage: Mail [-sS] [-n srvname] [-o outgoing] [mailboxname [directoryname]]\n"); threadexitsall("usage"); } @@ -88,6 +88,7 @@ plumbshowmailfd = plumbopenfid("showmail", OREAD|OCEXEC); shortmenu = 0; + srvname = "mail"; ARGBEGIN{ case 's': shortmenu = 1; @@ -101,6 +102,9 @@ case 'm': smprint(maildir, "%s/", EARGF(usage())); break; + case 'n': + srvname = EARGF(usage()); + break; default: usage(); }ARGEND @@ -108,9 +112,9 @@ acmefs = nsmount("acme",nil); if(acmefs == nil) error("cannot mount acme: %r"); - mailfs = nsmount("mail", nil); + mailfs = nsmount(srvname, nil); if(mailfs == nil) - error("cannot mount mail: %r"); + error("cannot mount %s: %r", srvname); name = "mbox";
diff --git a/src/cmd/acme/mail/mesg.c b/src/cmd/acme/mail/mesg.c index 8e8443b..304714c 100644 --- a/src/cmd/acme/mail/mesg.c +++ b/src/cmd/acme/mail/mesg.c
@@ -1046,8 +1046,8 @@ dest = estrdup(m->filename); if(m->filename[0] != '/') dest = egrow(estrdup(home), "/", dest); - fsprint(w->body, "\t9p read mail/%s/%sbody > %s\n", - mboxname, name, dest); + fsprint(w->body, "\t9p read %s/%s/%sbody > %s\n", + srvname, mboxname, name, dest); free(dest); } }