URI: 
       tmore changes - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit a79cd7832f0154b7099bdeda5f9fbff6402d6760
   DIR parent 7e61af5124e3843a8934da4e6be5e8fdc58d99dd
  HTML Author: rsc <devnull@localhost>
       Date:   Sun, 12 Feb 2006 00:34:08 +0000
       
       more changes
       
       Diffstat:
         M src/cmd/upas/common/common.h        |       3 +--
         M src/cmd/upas/common/config.c        |      26 +++++++++++++-------------
         M src/cmd/upas/common/sys.h           |      23 ++++++++++++++++-------
         M src/cmd/upas/ml/dat.h               |       2 +-
         M src/cmd/upas/ml/mkfile              |       4 ++--
         M src/cmd/upas/send/message.c         |       1 +
         M src/cmd/upas/smtp/mkfile            |       5 +++--
         M src/cmd/upas/smtp/mxdial.c          |       8 +++++---
         M src/cmd/upas/smtp/smtpd.c           |       2 +-
         M src/cmd/upas/smtp/smtpd.y           |       4 ++++
       
       10 files changed, 47 insertions(+), 31 deletions(-)
       ---
   DIR diff --git a/src/cmd/upas/common/common.h b/src/cmd/upas/common/common.h
       t@@ -75,5 +75,4 @@ extern int        proc_wait(process*);
        extern int        proc_free(process*);
        extern int        proc_kill(process*);
        
       -/* tell compiler we're using a value so it won't complain */
       -#define USE(x)        if(x)
       +
   DIR diff --git a/src/cmd/upas/common/config.c b/src/cmd/upas/common/config.c
       t@@ -1,12 +1,12 @@
        #include "common.h"
        
       -char *MAILROOT =        "#9/mail";
       -char *UPASLOG =                "#9/sys/log";
       -char *UPASLIB =         "#9/mail/lib";
       -char *UPASBIN=                "#9/bin/upas";
       -char *UPASTMP =         "#9/mail/tmp";
       -char *SHELL =                 "#9/bin/rc";
       -char *POST =                "#9/sys/lib/post/dispatch";
       +char *_MAILROOT =        "#9/mail";
       +char *_UPASLOG =                "#9/sys/log";
       +char *_UPASLIB =         "#9/mail/lib";
       +char *_UPASBIN=                "#9/bin/upas";
       +char *_UPASTMP =         "#9/mail/tmp";
       +char *_SHELL =                 "#9/bin/rc";
       +char *_POST =                "#9/sys/lib/post/dispatch";
        
        int MBOXMODE = 0662;
        
       t@@ -18,10 +18,10 @@ upasconfig(void)
                if(did)
                        return;
                did = 1;
       -        MAILROOT = unsharp(MAILROOT);
       -        UPASLOG = unsharp(UPASLOG);
       -        UPASLIB = unsharp(UPASLIB);
       -        UPASBIN = unsharp(UPASBIN);
       -        SHELL = unsharp(SHELL);
       -        POST = unsharp(POST);
       +        _MAILROOT = unsharp(_MAILROOT);
       +        _UPASLOG = unsharp(_UPASLOG);
       +        _UPASLIB = unsharp(_UPASLIB);
       +        _UPASBIN = unsharp(_UPASBIN);
       +        _SHELL = unsharp(_SHELL);
       +        _POST = unsharp(_POST);
        }
   DIR diff --git a/src/cmd/upas/common/sys.h b/src/cmd/upas/common/sys.h
       t@@ -21,16 +21,25 @@ struct Mlock {
        /*
         *  from config.c - call upasconfig() before using
         */
       -extern char *MAILROOT;        /* root of mail system */
       -extern char *UPASLOG;        /* log directory */
       -extern char *UPASLIB;        /* upas library directory */
       -extern char *UPASBIN;        /* upas binary directory */
       -extern char *UPASTMP;        /* temporary directory */
       -extern char *SHELL;        /* path name of shell */
       -extern char *POST;        /* path name of post server addresses */
       +extern char *_MAILROOT;        /* root of mail system */
       +extern char *_UPASLOG;        /* log directory */
       +extern char *_UPASLIB;        /* upas library directory */
       +extern char *_UPASBIN;        /* upas binary directory */
       +extern char *_UPASTMP;        /* temporary directory */
       +extern char *_SHELL;        /* path name of shell */
       +extern char *_POST;        /* path name of post server addresses */
        extern int MBOXMODE;        /* default mailbox protection mode */
        extern void upasconfig(void);
        
       +/* forgive me */
       +#define        MAILROOT        (upasconfig(), _MAILROOT)
       +#define        UPASLOG        (upasconfig(), _UPASLOG)
       +#define        UPASLIB        (upasconfig(), _UPASLIB)
       +#define        UPASBIN        (upasconfig(), _UPASBIN)
       +#define        UPASTMP        (upasconfig(), _UPASTMP)
       +#define        SHELL        (upasconfig(), _SHELL)
       +#define        POST        (upasconfig(), _POST)
       +
        /*
         *  files in libsys.c
         */
   DIR diff --git a/src/cmd/upas/ml/dat.h b/src/cmd/upas/ml/dat.h
       t@@ -1,6 +1,6 @@
        
        #include "../smtp/smtp.h"
       -#include "../smtp/y.tab.h"
       +#include "../smtp/rfc822.tab.h"
        
        typedef struct Addr Addr;
        struct Addr
   DIR diff --git a/src/cmd/upas/ml/mkfile b/src/cmd/upas/ml/mkfile
       t@@ -14,7 +14,7 @@ UHFILES= ../common/common.h\
                dat.h\
        
        HFILES=$UHFILES\
       -        ../smtp/y.tab.h\
       +        ../smtp/rfc822.tab.h\
        
        LIB=../common/libcommon.a
        
       t@@ -25,7 +25,7 @@ CFLAGS=$CFLAGS -I../common
        $O.ml: ../smtp/rfc822.tab.$O
        $O.mlowner: ../smtp/rfc822.tab.$O
        
       -../smtp/y.tab.h ../smtp/rfc822.tab.$O:
       +../smtp/rfc822.tab.h ../smtp/rfc822.tab.$O:
                (
                        cd ../smtp
                        mk rfc822.tab.$O
   DIR diff --git a/src/cmd/upas/send/message.c b/src/cmd/upas/send/message.c
       t@@ -118,6 +118,7 @@ getaddr(Node *p)
                for(; p; p = p->next)
                        if(p->s && p->addr)
                                return s_copy(s_to_c(p->s));
       +        return nil;
        }
        
        /* get the text of a header line minus the field name */
   DIR diff --git a/src/cmd/upas/smtp/mkfile b/src/cmd/upas/smtp/mkfile
       t@@ -41,12 +41,13 @@ smtpd.tab.c: smtpd.y smtpd.h
                sed 's/yy/zz/g' < xxx > $target
                rm xxx
        
       -rfc822.tab.c: rfc822.y smtp.h
       +rfc822.tab.c rfc822.tab.h: rfc822.y smtp.h
                9 yacc -d -o $target rfc822.y
       +        mv y.tab.h rfc822.tab.h
        
        clean:V:
                rm -f *.[$OS] [$OS].$TARG smtpd.tab.c rfc822.tab.c y.tab.? y.debug $TARG
        
       -../common/libcommon.a
       +../common/libcommon.a:
                cd ../common; mk
        
   DIR diff --git a/src/cmd/upas/smtp/mxdial.c b/src/cmd/upas/smtp/mxdial.c
       t@@ -23,7 +23,7 @@ extern int debug;
        
        static int        mxlookup(DS*, char*);
        static int        mxlookup1(DS*, char*);
       -static int        compar(void*, void*);
       +static int        compar(const void*, const void*);
        static int        callmx(DS*, char*, char*);
        static void expand_meta(DS *ds);
        extern int        cistrcmp(char*, char*);
       t@@ -50,8 +50,10 @@ mxdial(char *addr, char *ddomain, char *gdomain)
        }
        
        static int
       -timeout(void*, char *msg)
       +timeout(void *v, char *msg)
        {
       +        USED(v);
       +
                if(strstr(msg, "alarm"))
                        return 1;
                return 0;
       t@@ -232,7 +234,7 @@ mxlookup1(DS *ds, char *domain)
        }
        
        static int
       -compar(void *a, void *b)
       +compar(const void *a, const void *b)
        {
                return ((Mx*)a)->pref - ((Mx*)b)->pref;
        }
   DIR diff --git a/src/cmd/upas/smtp/smtpd.c b/src/cmd/upas/smtp/smtpd.c
       t@@ -7,7 +7,7 @@
        #include <mp.h>
        #include <libsec.h>
        #include <auth.h>
       -#include "../smtp/y.tab.h"
       +#include "../smtp/rfc822.tab.h"
        
        #define DBGMX 1
        
   DIR diff --git a/src/cmd/upas/smtp/smtpd.y b/src/cmd/upas/smtp/smtpd.y
       t@@ -189,6 +189,7 @@ parseinit(void)
                yyfp = &bin;
        }
        
       +int
        yylex(void)
        {
                int c;
       t@@ -229,6 +230,7 @@ cat(YYSTYPE *y1, YYSTYPE *y2, YYSTYPE *y3, YYSTYPE *y4, YYSTYPE *y5, YYSTYPE *y6
        {
                YYSTYPE rv;
        
       +        memset(&rv, 0, sizeof rv);
                if(y1->s)
                        rv.s = y1->s;
                else {
       t@@ -296,6 +298,7 @@ cat(YYSTYPE *y1, YYSTYPE *y2, YYSTYPE *y3, YYSTYPE *y4, YYSTYPE *y5, YYSTYPE *y6
                        }
                } else
                        return rv;
       +        return rv;
        }
        
        void
       t@@ -312,6 +315,7 @@ anonymous(void)
        {
                YYSTYPE rv;
        
       +        memset(&rv, 0, sizeof rv);
                rv.s = s_copy("/dev/null");
                return rv;
        }