]> diplodocus.org Git - nmh/blobdiff - uip/mhbuild.c
Applied what was done to uip/send.c in commit
[nmh] / uip / mhbuild.c
index 1fdeb6f91681e6da6cbeb35a830573347ecda0b8..91132ce3d732fab6ead55e0f52ee359305070655 100644 (file)
@@ -11,8 +11,6 @@
 #include <fcntl.h>
 #include <h/signals.h>
 #include <h/md5.h>
-#include <errno.h>
-#include <signal.h>
 #include <h/mts.h>
 #include <h/tws.h>
 #include <h/mime.h>
 #include <h/mhcachesbr.h>
 #include <h/utils.h>
 
-static struct swit switches[] = {
-#define        CHECKSW                 0
-    { "check", 0 },
-#define        NCHECKSW                1
-    { "nocheck", 0 },
-#define        DIRECTIVES              2
-    { "directives", 0 },
-#define        NDIRECTIVES             3
-    { "nodirectives", 0 },
-#define        HEADSW                  4
-    { "headers", 0 },
-#define        NHEADSW                 5
-    { "noheaders", 0 },
-#define        LISTSW                  6
-    { "list", 0 },
-#define        NLISTSW                 7
-    { "nolist", 0 },
-#define        SIZESW                  8
-    { "realsize", 0 },
-#define        NSIZESW                 9
-    { "norealsize", 0 },
-#define        RFC934SW               10
-    { "rfc934mode", 0 },
-#define        NRFC934SW              11
-    { "norfc934mode", 0 },
-#define        VERBSW                 12
-    { "verbose", 0 },
-#define        NVERBSW                13
-    { "noverbose", 0 },
-#define        RCACHESW               14
-    { "rcache policy", 0 },
-#define        WCACHESW               15
-    { "wcache policy", 0 },
-#define        CONTENTIDSW            16
-    { "contentid", 0 },
-#define        NCONTENTIDSW           17
-    { "nocontentid", 0 },
-#define VERSIONSW              18
-    { "version", 0 },
-#define        HELPSW                 19
-    { "help", 0 },
-#define        DEBUGSW                20
-    { "debug", -5 },
-    { NULL, 0 }
-};
+#define MHBUILD_SWITCHES \
+    X("check", 0, CHECKSW) \
+    X("nocheck", 0, NCHECKSW) \
+    X("directives", 0, DIRECTIVES) \
+    X("nodirectives", 0, NDIRECTIVES) \
+    X("headers", 0, HEADSW) \
+    X("noheaders", 0, NHEADSW) \
+    X("list", 0, LISTSW) \
+    X("nolist", 0, NLISTSW) \
+    X("realsize", 0, SIZESW) \
+    X("norealsize", 0, NSIZESW) \
+    X("rfc934mode", 0, RFC934SW) \
+    X("norfc934mode", 0, NRFC934SW) \
+    X("verbose", 0, VERBSW) \
+    X("noverbose", 0, NVERBSW) \
+    X("rcache policy", 0, RCACHESW) \
+    X("wcache policy", 0, WCACHESW) \
+    X("contentid", 0, CONTENTIDSW) \
+    X("nocontentid", 0, NCONTENTIDSW) \
+    X("version", 0, VERSIONSW) \
+    X("help", 0, HELPSW) \
+    X("debug", -5, DEBUGSW) \
+
+#define X(sw, minchars, id) id,
+DEFINE_SWITCH_ENUM(MHBUILD);
+#undef X
+
+#define X(sw, minchars, id) { sw, minchars, id },
+DEFINE_SWITCH_ARRAY(MHBUILD, switches);
+#undef X
 
 
 /* mhbuildsbr.c */
@@ -102,9 +85,6 @@ int output_message_fp (CT, FILE *, char*);
 /* mhlistsbr.c */
 int list_all_messages (CT *, int, int, int, int);
 
-/* mhfree.c */
-void free_content (CT);
-
 
 int
 main (int argc, char **argv)