From 7300193becde71a344c8ac0973dc290fa24d800d Mon Sep 17 00:00:00 2001 From: Raphaƫl Hertzog Date: Tue, 25 Aug 2015 21:55:54 +0200 Subject: Imported Upstream version 2.9.1+dfsg1 --- uri.c | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) (limited to 'uri.c') diff --git a/uri.c b/uri.c index ff47abb..4ab0ce2 100644 --- a/uri.c +++ b/uri.c @@ -759,8 +759,6 @@ xmlParse3986HierPart(xmlURIPtr uri, const char **str) cur += 2; ret = xmlParse3986Authority(uri, &cur); if (ret != 0) return(ret); - if (uri->server == NULL) - uri->port = -1; ret = xmlParse3986PathAbEmpty(uri, &cur); if (ret != 0) return(ret); *str = cur; @@ -1108,7 +1106,7 @@ xmlSaveUri(xmlURIPtr uri) { } } } else { - if ((uri->server != NULL) || (uri->port == -1)) { + if (uri->server != NULL) { if (len + 3 >= max) { temp = xmlSaveUriRealloc(ret, &max); if (temp == NULL) goto mem_error; @@ -1145,24 +1143,22 @@ xmlSaveUri(xmlURIPtr uri) { } ret[len++] = '@'; } - if (uri->server != NULL) { - p = uri->server; - while (*p != 0) { - if (len >= max) { - temp = xmlSaveUriRealloc(ret, &max); - if (temp == NULL) goto mem_error; - ret = temp; - } - ret[len++] = *p++; + p = uri->server; + while (*p != 0) { + if (len >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; } - if (uri->port > 0) { - if (len + 10 >= max) { - temp = xmlSaveUriRealloc(ret, &max); - if (temp == NULL) goto mem_error; - ret = temp; - } - len += snprintf((char *) &ret[len], max - len, ":%d", uri->port); + ret[len++] = *p++; + } + if (uri->port > 0) { + if (len + 10 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; } + len += snprintf((char *) &ret[len], max - len, ":%d", uri->port); } } else if (uri->authority != NULL) { if (len + 3 >= max) { @@ -1198,6 +1194,8 @@ xmlSaveUri(xmlURIPtr uri) { if (temp == NULL) goto mem_error; ret = temp; } + ret[len++] = '/'; + ret[len++] = '/'; } if (uri->path != NULL) { p = uri->path; -- cgit v1.2.3