Return-Path: Delivered-To: apmail-tomcat-dev-archive@www.apache.org Received: (qmail 9572 invoked from network); 18 Jan 2008 20:15:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 18 Jan 2008 20:15:20 -0000 Received: (qmail 13773 invoked by uid 500); 18 Jan 2008 20:15:05 -0000 Delivered-To: apmail-tomcat-dev-archive@tomcat.apache.org Received: (qmail 13732 invoked by uid 500); 18 Jan 2008 20:15:05 -0000 Mailing-List: contact dev-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Developers List" Delivered-To: mailing list dev@tomcat.apache.org Received: (qmail 13721 invoked by uid 500); 18 Jan 2008 20:15:05 -0000 Delivered-To: apmail-jakarta-tomcat-dev@jakarta.apache.org Received: (qmail 13718 invoked by uid 99); 18 Jan 2008 20:15:05 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Jan 2008 12:15:05 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Jan 2008 20:15:00 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 7C9D81A9832; Fri, 18 Jan 2008 12:14:52 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r613253 - /tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c Date: Fri, 18 Jan 2008 20:14:51 -0000 To: tomcat-dev@jakarta.apache.org From: rjung@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080118201452.7C9D81A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: rjung Date: Fri Jan 18 12:14:31 2008 New Revision: 613253 URL: http://svn.apache.org/viewvc?rev=613253&view=rev Log: Use map index instead of worker name as return value of internal functions in uri_worker_map. We'll need the indexes later on. Modified: tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c Modified: tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c?rev=613253&r1=613252&r2=613253&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c (original) +++ tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c Fri Jan 18 12:14:31 2008 @@ -486,8 +486,8 @@ return rc; } -static const char *find_match(jk_uri_worker_map_t *uw_map, - const char *url, jk_logger_t *l) +static int find_match(jk_uri_worker_map_t *uw_map, + const char *url, jk_logger_t *l) { unsigned int i; @@ -519,7 +519,7 @@ "Found a wildchar match '%s=%s'", uwr->context, uwr->worker_name); JK_TRACE_EXIT(l); - return uwr->worker_name; + return i; } } else if (JK_STRNCMP(uwr->context, url, uwr->context_len) == 0) { @@ -529,20 +529,21 @@ "Found an exact match '%s=%s'", uwr->context, uwr->worker_name); JK_TRACE_EXIT(l); - return uwr->worker_name; + return i; } } } JK_TRACE_EXIT(l); - return NULL; + return -1; } static int is_nomatch(jk_uri_worker_map_t *uw_map, - const char *uri, const char* worker, + const char *uri, int match, jk_logger_t *l) { unsigned int i; + const char *worker = uw_map->maps[match]->worker_name; JK_TRACE_ENTER(l); @@ -596,7 +597,7 @@ unsigned int i; unsigned int vhost_len; int reject_unsafe; - const char *rv = NULL; + int rv = -1; char url[JK_MAX_URI_LEN+1]; JK_TRACE_ENTER(l); @@ -685,12 +686,12 @@ url, uw_map->size); rv = find_match(uw_map, url, l); /* If this doesn't find a match, try without the vhost. */ - if (! rv && vhost_len) { + if (rv < 0 && vhost_len) { rv = find_match(uw_map, &url[vhost_len], l); } /* In case we found a match, check for the unmounts. */ - if (rv && uw_map->nosize) { + if (rv >= 0 && uw_map->nosize) { /* Again first including vhost. */ int rc = is_nomatch(uw_map, url, rv, l); /* If no unmount was find, try without vhost. */ @@ -700,14 +701,18 @@ if (JK_IS_DEBUG_LEVEL(l)) { jk_log(l, JK_LOG_DEBUG, "Denying match for worker %s by nomatch rule", - rv); + uw_map->maps[rv]->worker_name); } - rv = NULL; + rv = -1; } } + if (rv >= 0) { + JK_TRACE_EXIT(l); + return uw_map->maps[rv]->worker_name; + } JK_TRACE_EXIT(l); - return rv; + return NULL; } int uri_worker_map_load(jk_uri_worker_map_t *uw_map, --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org For additional commands, e-mail: dev-help@tomcat.apache.org