From: Fabian Keil Date: Fri, 9 Nov 2012 10:48:17 +0000 (+0000) Subject: Add a --config-test option X-Git-Tag: v_3_0_20~187 X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=commitdiff_plain;h=c552c3ab84f7bb8a1c8096829a374aa20662b7ab Add a --config-test option It lets Privoxy exit after checking whether or not the configuration seems valid. The limitations noted in TODO #22 and #23 still apply. Logging the problem to the logfile if one is configured and --no-daemon isn't used could be considered non-intuitive and might also clobber messages emitted by an already running instance. Based on a patch by Ramkumar Chinchani. --- diff --git a/jcc.c b/jcc.c index 169d689e..435771a2 100644 --- a/jcc.c +++ b/jcc.c @@ -1,4 +1,4 @@ -const char jcc_rcs[] = "$Id: jcc.c,v 1.411 2012/10/29 12:00:50 fabiankeil Exp $"; +const char jcc_rcs[] = "$Id: jcc.c,v 1.412 2012/10/29 12:04:42 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/jcc.c,v $ @@ -2830,7 +2830,7 @@ static int32 server_thread(void *data) static void usage(const char *myname) { printf("Privoxy version " VERSION " (" HOME_PAGE_URL ")\n" - "Usage: %s " + "Usage: %s [--config-test] " #if defined(unix) "[--chroot] " #endif /* defined(unix) */ @@ -3020,6 +3020,7 @@ int main(int argc, char **argv) #endif { int argc_pos = 0; + int do_config_test = 0; unsigned int random_seed; #ifdef unix struct passwd *pw = NULL; @@ -3150,6 +3151,11 @@ int main(int argc, char **argv) } #endif /* defined(unix) */ + else if (strcmp(argv[argc_pos], "--config-test") == 0) + { + do_config_test = 1; + } + else if (argc_pos + 1 != argc) { /* @@ -3253,6 +3259,9 @@ int main(int argc, char **argv) # endif /* def _WIN_CONSOLE */ #endif /* def _WIN32 */ + if (do_config_test) { + exit(NULL == load_config()); + } /* Initialize the CGI subsystem */ cgi_init_error_messages();