You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by se...@apache.org on 2008/03/03 16:38:55 UTC
svn commit: r633134 - /webservices/axis2/trunk/c/util/src/url.c
Author: senaka
Date: Mon Mar 3 07:38:54 2008
New Revision: 633134
URL: http://svn.apache.org/viewvc?rev=633134&view=rev
Log:
Fixing JIRA Issues, AXIS2C-1029, AXIS2C-1031, AXIS2C-1033
Modified:
webservices/axis2/trunk/c/util/src/url.c
Modified: webservices/axis2/trunk/c/util/src/url.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/src/url.c?rev=633134&r1=633133&r2=633134&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/src/url.c (original)
+++ webservices/axis2/trunk/c/util/src/url.c Mon Mar 3 07:38:54 2008
@@ -247,16 +247,41 @@
axis2_char_t *external_form = NULL;
axis2_ssize_t len = 0;
axis2_char_t port_str[8];
+ axis2_bool_t print_port = AXIS2_FALSE;
AXIS2_ENV_CHECK(env, NULL);
AXIS2_PARAM_CHECK(env->error, url, NULL);
- sprintf(port_str, "%d", url->port);
- len =
- axutil_strlen(url->protocol) + axutil_strlen(url->server) +
- axutil_strlen(url->path) + strlen(port_str) + 7;
+ if (!url->protocol)
+ {
+ return NULL;
+ }
+
+ if (url->port != 0 &&
+ url->port != axutil_uri_port_of_scheme(url->protocol))
+ {
+ print_port = AXIS2_TRUE;
+ sprintf(port_str, "%d", url->port);
+ }
+
+ len = axutil_strlen(url->protocol) + 6;
+ if (url->server)
+ {
+ len += axutil_strlen(url->server);
+ }
+ if (url->path)
+ {
+ len += axutil_strlen(url->path);
+ }
+ if (print_port)
+ {
+ len += axutil_strlen(port_str) + 1;
+ }
external_form = (axis2_char_t *) AXIS2_MALLOC(env->allocator, len);
- sprintf(external_form, "%s://%s:%s%s", url->protocol, url->server, port_str,
- url->path);
+ sprintf(external_form, "%s://%s%s%s%s", url->protocol,
+ (url->server) ? url->server : "",
+ (print_port) ? ":" : "",
+ (print_port) ? port_str : "",
+ (url->path) ? url->path : "");
return external_form;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org