tmultiple mail boxes (Lou Kamenov) - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 44fc56d8c3cc534bf903133c63a9c9ecb42e5b63
 (DIR) parent 25c823399b92efee49d15f0e78303f70b278dd99
 (HTM) Author: rsc <devnull@localhost>
       Date:   Sun, 21 May 2006 18:41:05 +0000
       
       multiple mail boxes (Lou Kamenov)
       
       Diffstat:
         M src/cmd/acme/mail/dat.h             |       1 +
         M src/cmd/acme/mail/mail.c            |      10 +++++++---
         M src/cmd/acme/mail/mesg.c            |       4 ++--
       
       3 files changed, 10 insertions(+), 5 deletions(-)
       ---
 (DIR) diff --git a/src/cmd/acme/mail/dat.h b/src/cmd/acme/mail/dat.h
       t@@ -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;
 (DIR) diff --git a/src/cmd/acme/mail/mail.c b/src/cmd/acme/mail/mail.c
       t@@ -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");
        }
        
       t@@ -88,6 +88,7 @@ threadmain(int argc, char *argv[])
                plumbshowmailfd = plumbopenfid("showmail", OREAD|OCEXEC);
        
                shortmenu = 0;
       +        srvname = "mail";
                ARGBEGIN{
                case 's':
                        shortmenu = 1;
       t@@ -101,6 +102,9 @@ threadmain(int argc, char *argv[])
                case 'm':
                        smprint(maildir, "%s/", EARGF(usage()));
                        break;
       +        case 'n':
       +                srvname = EARGF(usage());
       +                break;
                default:
                        usage();
                }ARGEND
       t@@ -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";
        
 (DIR) diff --git a/src/cmd/acme/mail/mesg.c b/src/cmd/acme/mail/mesg.c
       t@@ -1046,8 +1046,8 @@ mimedisplay(Message *m, char *name, char *rootdir, Window *w, int fileonly)
                                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);
                }
        }