commit 44fc56d8c3cc534bf903133c63a9c9ecb42e5b63 from: rsc date: Sun May 21 18:41:05 2006 UTC multiple mail boxes (Lou Kamenov) commit - 25c823399b92efee49d15f0e78303f70b278dd99 commit + 44fc56d8c3cc534bf903133c63a9c9ecb42e5b63 blob - 4b5c23c75e4228ccfa8c55198cbf5ce58cc47d6e blob + 9a6be955fd3cf2b3d7e56d000464c50507794eba --- src/cmd/acme/mail/dat.h +++ src/cmd/acme/mail/dat.h @@ -170,6 +170,7 @@ extern char *outgoing; extern char *mailboxdir; extern char *mboxname; extern char *user; +extern char *srvname; extern char deleted[]; extern int wctlfd; extern int shortmenu; blob - 988c53c220ceb1a41f9032c1d012c210bf2444ad blob + 326d7bc8b7ff473d2e3275b371317ffe400c7e7f --- src/cmd/acme/mail/mail.c +++ src/cmd/acme/mail/mail.c @@ -42,7 +42,7 @@ CFsys *acmefs; 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 @@ threadmain(int argc, char *argv[]) plumbshowmailfd = plumbopenfid("showmail", OREAD|OCEXEC); shortmenu = 0; + srvname = "mail"; ARGBEGIN{ case 's': shortmenu = 1; @@ -100,6 +101,9 @@ threadmain(int argc, char *argv[]) break; case 'm': smprint(maildir, "%s/", EARGF(usage())); + break; + case 'n': + srvname = EARGF(usage()); break; default: usage(); @@ -108,9 +112,9 @@ threadmain(int argc, char *argv[]) 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"; blob - 8e8443bea9d1b51fe0d686945d10ab2a390defd2 blob + 304714cd7a9084e6a8bea491bb7951eb5fa07626 --- src/cmd/acme/mail/mesg.c +++ src/cmd/acme/mail/mesg.c @@ -1046,8 +1046,8 @@ mimedisplay(Message *m, char *name, char *rootdir, Win 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); } }