From: André Malo Date: Mon, 28 Jul 2003 22:48:51 +0000 (+0000) Subject: cleanup fully_qualify_uri function X-Git-Tag: pre_ajp_proxy~1336 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=caa64178e496943621aa1b9491e3d950f65e75eb;p=apache cleanup fully_qualify_uri function git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@100829 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/mappers/mod_rewrite.c b/modules/mappers/mod_rewrite.c index 7b101e9475..b645df4fb2 100644 --- a/modules/mappers/mod_rewrite.c +++ b/modules/mappers/mod_rewrite.c @@ -769,33 +769,21 @@ static void reduce_uri(request_rec *r) */ static void fully_qualify_uri(request_rec *r) { - char buf[32]; - const char *thisserver; - char *thisport; - int port; - if (!is_absolute_uri(r->filename)) { + const char *thisserver; + char *thisport; + int port; thisserver = ap_get_server_name(r); port = ap_get_server_port(r); - if (ap_is_default_port(port,r)) { - thisport = ""; - } - else { - apr_snprintf(buf, sizeof(buf), ":%u", port); - thisport = buf; - } - - if (r->filename[0] == '/') { - r->filename = apr_psprintf(r->pool, "%s://%s%s%s", - ap_http_method(r), thisserver, - thisport, r->filename); - } - else { - r->filename = apr_psprintf(r->pool, "%s://%s%s/%s", - ap_http_method(r), thisserver, - thisport, r->filename); - } + thisport = ap_is_default_port(port, r) + ? "" + : apr_psprintf(r->pool, ":%u", port); + + r->filename = apr_psprintf(r->pool, "%s://%s%s%s%s", + ap_http_method(r), thisserver, thisport, + (*r->filename == '/') ? "" : "/", + r->filename); } return;