Return-Path: Delivered-To: apmail-httpd-cvs-archive@www.apache.org Received: (qmail 61918 invoked from network); 1 Feb 2010 23:27:58 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 1 Feb 2010 23:27:58 -0000 Received: (qmail 50242 invoked by uid 500); 1 Feb 2010 23:27:58 -0000 Delivered-To: apmail-httpd-cvs-archive@httpd.apache.org Received: (qmail 50173 invoked by uid 500); 1 Feb 2010 23:27:58 -0000 Mailing-List: contact cvs-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list cvs@httpd.apache.org Received: (qmail 50164 invoked by uid 99); 1 Feb 2010 23:27:57 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Feb 2010 23:27:57 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Feb 2010 23:27:55 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 51479238897F; Mon, 1 Feb 2010 23:27:33 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r905454 - in /httpd/httpd/trunk: include/ap_mmn.h include/http_config.h modules/debugging/mod_dumpio.c server/core.c server/log.c server/main.c Date: Mon, 01 Feb 2010 23:27:33 -0000 To: cvs@httpd.apache.org From: sf@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100201232733.51479238897F@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: sf Date: Mon Feb 1 23:27:32 2010 New Revision: 905454 URL: http://svn.apache.org/viewvc?rev=905454&view=rev Log: replace duplicate code with new function ap_parse_log_level() Modified: httpd/httpd/trunk/include/ap_mmn.h httpd/httpd/trunk/include/http_config.h httpd/httpd/trunk/modules/debugging/mod_dumpio.c httpd/httpd/trunk/server/core.c httpd/httpd/trunk/server/log.c httpd/httpd/trunk/server/main.c Modified: httpd/httpd/trunk/include/ap_mmn.h URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/include/ap_mmn.h?rev=905454&r1=905453&r2=905454&view=diff ============================================================================== --- httpd/httpd/trunk/include/ap_mmn.h (original) +++ httpd/httpd/trunk/include/ap_mmn.h Mon Feb 1 23:27:32 2010 @@ -212,6 +212,7 @@ * to proxy_ftp_dir_conf(mod_proxy_ftp) * 20091230.1 (2.3.5-dev) add util_ldap_state_t.opTimeout * 20091230.2 (2.3.5-dev) add ap_get_server_name_for_url() + * 20091230.3 (2.3.6-dev) add ap_parse_log_level() * */ @@ -220,7 +221,7 @@ #ifndef MODULE_MAGIC_NUMBER_MAJOR #define MODULE_MAGIC_NUMBER_MAJOR 20091230 #endif -#define MODULE_MAGIC_NUMBER_MINOR 2 /* 0...n */ +#define MODULE_MAGIC_NUMBER_MINOR 3 /* 0...n */ /** * Determine if the server's current MODULE_MAGIC_NUMBER is at least a Modified: httpd/httpd/trunk/include/http_config.h URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/include/http_config.h?rev=905454&r1=905453&r2=905454&view=diff ============================================================================== --- httpd/httpd/trunk/include/http_config.h (original) +++ httpd/httpd/trunk/include/http_config.h Mon Feb 1 23:27:32 2010 @@ -491,6 +491,14 @@ const char *arg); /** + * Parsing function for log level + * @param str The string to parse + * @param val The parsed log level + * @return An error string or NULL on success + */ +AP_DECLARE(const char *) ap_parse_log_level(const char *str, int *val); + +/** * Return true if the specified method is limited by being listed in * a <Limit> container, or by *not* being listed in a <LimitExcept> * container. Modified: httpd/httpd/trunk/modules/debugging/mod_dumpio.c URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/debugging/mod_dumpio.c?rev=905454&r1=905453&r2=905454&view=diff ============================================================================== --- httpd/httpd/trunk/modules/debugging/mod_dumpio.c (original) +++ httpd/httpd/trunk/modules/debugging/mod_dumpio.c Mon Feb 1 23:27:32 2010 @@ -244,34 +244,9 @@ } if ((str = ap_getword_conf(cmd->pool, &arg))) { - if (!strcasecmp(str, "emerg")) { - ptr->loglevel = APLOG_EMERG; - } - else if (!strcasecmp(str, "alert")) { - ptr->loglevel = APLOG_ALERT; - } - else if (!strcasecmp(str, "crit")) { - ptr->loglevel = APLOG_CRIT; - } - else if (!strcasecmp(str, "error")) { - ptr->loglevel = APLOG_ERR; - } - else if (!strcasecmp(str, "warn")) { - ptr->loglevel = APLOG_WARNING; - } - else if (!strcasecmp(str, "notice")) { - ptr->loglevel = APLOG_NOTICE; - } - else if (!strcasecmp(str, "info")) { - ptr->loglevel = APLOG_INFO; - } - else if (!strcasecmp(str, "debug")) { - ptr->loglevel = APLOG_DEBUG; - } - else { - return "DumpIOLogLevel requires level keyword: one of " - "emerg/alert/crit/error/warn/notice/info/debug"; - } + err = ap_parse_log_level(str, &ptr->loglevel); + if (err != NULL) + return err; } else { return "DumpIOLogLevel requires level keyword"; Modified: httpd/httpd/trunk/server/core.c URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/core.c?rev=905454&r1=905453&r2=905454&view=diff ============================================================================== --- httpd/httpd/trunk/server/core.c (original) +++ httpd/httpd/trunk/server/core.c Mon Feb 1 23:27:32 2010 @@ -2626,34 +2626,9 @@ } if ((str = ap_getword_conf(cmd->pool, &arg))) { - if (!strcasecmp(str, "emerg")) { - cmd->server->loglevel = APLOG_EMERG; - } - else if (!strcasecmp(str, "alert")) { - cmd->server->loglevel = APLOG_ALERT; - } - else if (!strcasecmp(str, "crit")) { - cmd->server->loglevel = APLOG_CRIT; - } - else if (!strcasecmp(str, "error")) { - cmd->server->loglevel = APLOG_ERR; - } - else if (!strcasecmp(str, "warn")) { - cmd->server->loglevel = APLOG_WARNING; - } - else if (!strcasecmp(str, "notice")) { - cmd->server->loglevel = APLOG_NOTICE; - } - else if (!strcasecmp(str, "info")) { - cmd->server->loglevel = APLOG_INFO; - } - else if (!strcasecmp(str, "debug")) { - cmd->server->loglevel = APLOG_DEBUG; - } - else { - return "LogLevel requires level keyword: one of " - "emerg/alert/crit/error/warn/notice/info/debug"; - } + err = ap_parse_log_level(arg, &cmd->server->loglevel); + if (err != NULL) + return err; } else { return "LogLevel requires level keyword"; Modified: httpd/httpd/trunk/server/log.c URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/log.c?rev=905454&r1=905453&r2=905454&view=diff ============================================================================== --- httpd/httpd/trunk/server/log.c (original) +++ httpd/httpd/trunk/server/log.c Mon Feb 1 23:27:32 2010 @@ -1127,6 +1127,25 @@ apr_pool_cleanup_run(pl->p, pl, piped_log_cleanup); } +AP_DECLARE(const char *) ap_parse_log_level(const char *str, int *val) +{ + char *err = "Loglevel keyword must be one of emerg/alert/crit/error/warn/" + "notice/info/debug"; + int i = 0; + + if (str == NULL) + return err; + + while (priorities[i].t_name != NULL) { + if (!strcasecmp(str, priorities[i].t_name)) { + *val = priorities[i].t_val; + return NULL; + } + i++; + } + return err; +} + AP_IMPLEMENT_HOOK_VOID(error_log, (const char *file, int line, int level, apr_status_t status, const server_rec *s, Modified: httpd/httpd/trunk/server/main.c URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/main.c?rev=905454&r1=905453&r2=905454&view=diff ============================================================================== --- httpd/httpd/trunk/server/main.c (original) +++ httpd/httpd/trunk/server/main.c Mon Feb 1 23:27:32 2010 @@ -530,33 +530,8 @@ break; case 'e': - if (strcasecmp(optarg, "emerg") == 0) { - ap_default_loglevel = APLOG_EMERG; - } - else if (strcasecmp(optarg, "alert") == 0) { - ap_default_loglevel = APLOG_ALERT; - } - else if (strcasecmp(optarg, "crit") == 0) { - ap_default_loglevel = APLOG_CRIT; - } - else if (strncasecmp(optarg, "err", 3) == 0) { - ap_default_loglevel = APLOG_ERR; - } - else if (strncasecmp(optarg, "warn", 4) == 0) { - ap_default_loglevel = APLOG_WARNING; - } - else if (strcasecmp(optarg, "notice") == 0) { - ap_default_loglevel = APLOG_NOTICE; - } - else if (strcasecmp(optarg, "info") == 0) { - ap_default_loglevel = APLOG_INFO; - } - else if (strcasecmp(optarg, "debug") == 0) { - ap_default_loglevel = APLOG_DEBUG; - } - else { + if (ap_parse_log_level(optarg, &ap_default_loglevel) != NULL) usage(process); - } break; case 'E':