diff options
author | Steffen Grund <Steffen.Grund@sun.com> | 2010-01-22 16:29:42 +0100 |
---|---|---|
committer | Steffen Grund <Steffen.Grund@sun.com> | 2010-01-22 16:29:42 +0100 |
commit | bf9614cf5b5eea50131aa9f6030bf3d7175d7e94 (patch) | |
tree | 67238cc99479f7c4328c04a065c695bcefd4bedd /tools | |
parent | 7dd16c6faabd03e178a3c7560019589efe0e23bd (diff) |
#161491# bugfixes and additional tests
Diffstat (limited to 'tools')
-rw-r--r-- | tools/source/fsys/urlobj.cxx | 18 | ||||
-rw-r--r-- | tools/workben/urltest.cxx | 14 |
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()); + } } } } |