From 40c7ea336b2af7bbf2fe4052d90a56ef93b6aa7e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 15 Jan 2001 16:27:52 +0000 Subject: [PATCH] Added --approved command line parameter, which is treated as a boolean. Whether it is set or not will be passed through to listserv_main() and to hermes_main(). The parameter will be used by the spooling mechanism. --- hermes.c | 2 +- listserv.c | 2 +- main.c | 10 ++++------ 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/hermes.c b/hermes.c index a619686..5a95b74 100644 --- a/hermes.c +++ b/hermes.c @@ -25,7 +25,7 @@ #include "petidomo.h" int -hermes_main(char * incoming_mail, const char * listname) +hermes_main(char * incoming_mail, const char * listname, char is_approved) { const struct PD_Config * MasterConfig; const struct List_Config * ListConfig; diff --git a/listserv.c b/listserv.c index ef235da..2d452b7 100644 --- a/listserv.c +++ b/listserv.c @@ -26,7 +26,7 @@ char * g_currLine; /* pointer to the line currently parsed */ int -listserv_main(char * incoming_mail, char * default_list) +listserv_main(char * incoming_mail, char * default_list, char is_approved) { const struct List_Config * ListConfig; struct Mail * MailStruct; diff --git a/main.c b/main.c index c8e9a4e..1a990ce 100644 --- a/main.c +++ b/main.c @@ -33,6 +33,7 @@ static char* listname = NULL; static char* mode = NULL; static char* masterconfig_path = SYSCONFDIR "/petidomo.conf"; +static char is_approved = ARGV_FALSE; int main(int argc, char * argv[]) @@ -44,6 +45,7 @@ main(int argc, char * argv[]) {ARGV_MAND, "mode", ARGV_CHAR_P, &mode, "mode", "listserv, deliver, or approve."}, {ARGV_MAYBE, "listname", ARGV_CHAR_P, &listname, "listname", "Default mailing list."}, {ARGV_MAYBE, "masterconf", ARGV_CHAR_P, &masterconfig_path, "masterconf", "Path to petidomo.conf."}, + {ARGV_MAYBE, "approved", ARGV_BOOL, &is_approved, "approved", "approved flag."}, {ARGV_LAST} }; @@ -78,21 +80,17 @@ main(int argc, char * argv[]) /* Now decide what we actually do with the mail. */ if (strcasecmp("listserv", mode) == 0) - listserv_main(incoming_mail, listname); + listserv_main(incoming_mail, listname, is_approved); else if (strcasecmp("deliver", mode) == 0) { if (listname != NULL) - hermes_main(incoming_mail, listname); + hermes_main(incoming_mail, listname, is_approved); else { syslog(LOG_ERR, "Wrong command line syntax; deliver mode requires a parameter."); exit(1); } } - else if (strcasecmp("petidomo", mode) == 0) - { - /* do nothing */ - } else { syslog(LOG_ERR, "I don't know anything about mode \"%s\".", mode);