tmore changes - plan9port - [fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port
Log
Files
Refs
README
LICENSE
---
commit a79cd7832f0154b7099bdeda5f9fbff6402d6760
parent 7e61af5124e3843a8934da4e6be5e8fdc58d99dd
Author: rsc 
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(-)
---
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)
+
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);
 }
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
  */
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
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
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 */
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
 
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;
 }
diff --git a/src/cmd/upas/smtp/smtpd.c b/src/cmd/upas/smtp/smtpd.c
t@@ -7,7 +7,7 @@
 #include 
 #include 
 #include 
-#include "../smtp/y.tab.h"
+#include "../smtp/rfc822.tab.h"
 
 #define DBGMX 1
 
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;
 }