multiple mail boxes (Lou Kamenov)

This commit is contained in:
rsc 2006-05-21 18:41:05 +00:00
parent 25c823399b
commit 44fc56d8c3
3 changed files with 10 additions and 5 deletions

View file

@ -170,6 +170,7 @@ extern char *outgoing;
extern char *mailboxdir; extern char *mailboxdir;
extern char *mboxname; extern char *mboxname;
extern char *user; extern char *user;
extern char *srvname;
extern char deleted[]; extern char deleted[];
extern int wctlfd; extern int wctlfd;
extern int shortmenu; extern int shortmenu;

View file

@ -42,7 +42,7 @@ CFsys *acmefs;
void void
usage(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"); threadexitsall("usage");
} }
@ -88,6 +88,7 @@ threadmain(int argc, char *argv[])
plumbshowmailfd = plumbopenfid("showmail", OREAD|OCEXEC); plumbshowmailfd = plumbopenfid("showmail", OREAD|OCEXEC);
shortmenu = 0; shortmenu = 0;
srvname = "mail";
ARGBEGIN{ ARGBEGIN{
case 's': case 's':
shortmenu = 1; shortmenu = 1;
@ -101,6 +102,9 @@ threadmain(int argc, char *argv[])
case 'm': case 'm':
smprint(maildir, "%s/", EARGF(usage())); smprint(maildir, "%s/", EARGF(usage()));
break; break;
case 'n':
srvname = EARGF(usage());
break;
default: default:
usage(); usage();
}ARGEND }ARGEND
@ -108,9 +112,9 @@ threadmain(int argc, char *argv[])
acmefs = nsmount("acme",nil); acmefs = nsmount("acme",nil);
if(acmefs == nil) if(acmefs == nil)
error("cannot mount acme: %r"); error("cannot mount acme: %r");
mailfs = nsmount("mail", nil); mailfs = nsmount(srvname, nil);
if(mailfs == nil) if(mailfs == nil)
error("cannot mount mail: %r"); error("cannot mount %s: %r", srvname);
name = "mbox"; name = "mbox";

View file

@ -1046,8 +1046,8 @@ mimedisplay(Message *m, char *name, char *rootdir, Window *w, int fileonly)
dest = estrdup(m->filename); dest = estrdup(m->filename);
if(m->filename[0] != '/') if(m->filename[0] != '/')
dest = egrow(estrdup(home), "/", dest); dest = egrow(estrdup(home), "/", dest);
fsprint(w->body, "\t9p read mail/%s/%sbody > %s\n", fsprint(w->body, "\t9p read %s/%s/%sbody > %s\n",
mboxname, name, dest); srvname, mboxname, name, dest);
free(dest); free(dest);
} }
} }