summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorSteffen Grund <Steffen.Grund@sun.com>2010-01-22 16:29:42 +0100
committerSteffen Grund <Steffen.Grund@sun.com>2010-01-22 16:29:42 +0100
commitbf9614cf5b5eea50131aa9f6030bf3d7175d7e94 (patch)
tree67238cc99479f7c4328c04a065c695bcefd4bedd /tools
parent7dd16c6faabd03e178a3c7560019589efe0e23bd (diff)
#161491# bugfixes and additional tests
Diffstat (limited to 'tools')
-rw-r--r--tools/source/fsys/urlobj.cxx18
-rw-r--r--tools/workben/urltest.cxx14
2 files changed, 19 insertions, 13 deletions
diff --git a/tools/source/fsys/urlobj.cxx b/tools/source/fsys/urlobj.cxx
index bfca09c27b2a..68a66b596f5c 100644
--- a/tools/source/fsys/urlobj.cxx
+++ b/tools/source/fsys/urlobj.cxx
@@ -425,7 +425,7 @@ static INetURLObject::SchemeInfo const aSchemeInfoMap[INET_PROT_END]
false, false, false, false, false },
{ "vnd.sun.star.tdoc", "vnd.sun.star.tdoc:", 0, false, false, false,
false, false, false, true, false },
- { "", "", 0, false, false, false, false, false, false, false, false },
+ { "", "", 0, false, false, false, false, true, true, true, false },
{ "smb", "smb://", 139, true, true, false, true, true, true, true,
true } };
@@ -874,7 +874,7 @@ bool INetURLObject::setAbsURIRef(rtl::OUString const & rTheAbsURIRef,
// Parse //<user>;AUTH=<auth>@<host>:<port> or
// //<user>:<password>@<host>:<port> or
// //<reg_name>
- if (m_eScheme == INET_PROT_GENERIC || getSchemeInfo().m_bAuthority)
+ if (getSchemeInfo().m_bAuthority)
{
sal_Unicode const * pUserInfoBegin = 0;
sal_Unicode const * pUserInfoEnd = 0;
@@ -1226,7 +1226,7 @@ bool INetURLObject::setAbsURIRef(rtl::OUString const & rTheAbsURIRef,
pUserInfoBegin = pAuthority;
pUserInfoEnd = pPos;
}
- else if (m_eScheme == INET_PROT_GENERIC || getSchemeInfo().m_bHost)
+ else if (getSchemeInfo().m_bHost)
{
pHostPortBegin = pAuthority;
pHostPortEnd = pPos;
@@ -1334,7 +1334,7 @@ bool INetURLObject::setAbsURIRef(rtl::OUString const & rTheAbsURIRef,
if (pHostPortBegin)
{
sal_Unicode const * pPort = pHostPortEnd;
- if ( (m_eScheme == INET_PROT_GENERIC || getSchemeInfo().m_bPort) && pHostPortBegin < pHostPortEnd )
+ if ( getSchemeInfo().m_bPort && pHostPortBegin < pHostPortEnd )
{
sal_Unicode const * p1 = pHostPortEnd - 1;
while (p1 > pHostPortBegin && INetMIME::isDigit(*p1))
@@ -1363,7 +1363,7 @@ bool INetURLObject::setAbsURIRef(rtl::OUString const & rTheAbsURIRef,
}
break;
default:
- if (pHostPortBegin == pPort && pPort != pHostPortEnd)
+ if (pHostPortBegin == pPort)
{
setInvalid();
return false;
@@ -2895,7 +2895,7 @@ bool INetURLObject::setHost(rtl::OUString const & rTheHost, bool bOctets,
break;
default:
- if (aSynHost.getLength() == 0 && m_aPort.isPresent())
+ if (aSynHost.getLength() == 0)
return false;
break;
}
@@ -3421,10 +3421,6 @@ bool INetURLObject::checkHierarchical() const {
false, "INetURLObject::checkHierarchical vnd.sun.star.expand");
return true;
} else {
- // set hierarchical for generic schemes
- if (m_eScheme == INET_PROT_GENERIC) {
- return true;
- }
return getSchemeInfo().m_bHierarchical;
}
}
@@ -4172,7 +4168,7 @@ bool INetURLObject::ConcatData(INetProtocol eTheScheme,
break;
default:
- if (aSynHost.getLength() == 0 && nThePort != 0)
+ if (aSynHost.getLength() == 0)
{
setInvalid();
return false;
diff --git a/tools/workben/urltest.cxx b/tools/workben/urltest.cxx
index 0e9d22081cb4..7f27995fe63b 100644
--- a/tools/workben/urltest.cxx
+++ b/tools/workben/urltest.cxx
@@ -526,6 +526,8 @@ main()
/*TODO "vnd.sun.star.wfs:///c|/xyz/",*/
/*TODO "vnd.sun.star.wfs://xxx/yyy?zzz",*/
"vnd.sun.star.wfs:///x/y/z",
+ "vnd.sun.star.generic:///x/y/z",
+ "vnd.sun.star.generic://host:34/x/y/z"
/*TODO "wfs://",*/
/*TODO "wfs://LocalHost",*/
/*TODO "wfs:///c|/xyz/",*/
@@ -536,13 +538,21 @@ main()
INetURLObject aUrl(aTest[i]);
if (aUrl.HasError())
printf("BAD %s\n", aTest[i]);
- else if (aUrl.GetMainURL(INetURLObject::DECODE_TO_IURI).
- equalsAscii(aTest[i]) != sal_True)
+ else
{
+ if (aUrl.GetProtocol() != INET_PROT_GENERIC) {
+ printf("BAD PROTOCOL %i -> %i\n",
+ aUrl.GetProtocol(),
+ INET_PROT_GENERIC);
+ }
+ if (aUrl.GetMainURL(INetURLObject::DECODE_TO_IURI).
+ equalsAscii(aTest[i]) != sal_True)
+ {
String sTest(aUrl.GetMainURL(INetURLObject::DECODE_TO_IURI));
printf("BAD %s -> %s\n",
aTest[i],
ByteString(sTest, RTL_TEXTENCODING_ASCII_US).GetBuffer());
+ }
}
}
}