summaryrefslogtreecommitdiff
path: root/sal
diff options
context:
space:
mode:
authorJan-Marek Glogowski <jan-marek.glogowski@extern.cib.de>2019-11-26 22:05:10 +0100
committerJan-Marek Glogowski <glogow@fbihome.de>2019-12-03 09:11:18 +0100
commit7a22576478efcf9445a572574b905d6dd07b1e74 (patch)
tree4e504b35f4a172b58a5ef4c1c56c0840da4c8988 /sal
parent65611a4772b6537658dbbc9392cdac31aef6c7a7 (diff)
WIN accept single-backslash file URIs
From all I could find, a single (back-)slash file URI is fine as a local file path. This includes the commit "WIN enable NoAuthority test" (cherry picked from commit f9fd9d4cd4f792cd4ec8e14df78f3193653dae67) Change-Id: I75e95c809894cdef88f708d0477cb98eb114a107 Reviewed-on: https://gerrit.libreoffice.org/83837 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 895cd72158fc8a455f705764ae4ae000b933eba4) Reviewed-on: https://gerrit.libreoffice.org/83952
Diffstat (limited to 'sal')
-rw-r--r--sal/osl/w32/file_url.cxx10
-rw-r--r--sal/qa/osl/getsystempathfromfileurl/test-getsystempathfromfileurl.cxx2
2 files changed, 6 insertions, 6 deletions
diff --git a/sal/osl/w32/file_url.cxx b/sal/osl/w32/file_url.cxx
index e44a17a4d472..a5aba24248c4 100644
--- a/sal/osl/w32/file_url.cxx
+++ b/sal/osl/w32/file_url.cxx
@@ -676,7 +676,7 @@ oslFileError osl_getSystemPathFromFileURL_( rtl_uString *strURL, rtl_uString **p
SAL_WARN_IF(
strUTF8->length != strURL->length &&
- 0 == rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength( strURL->buffer, strURL->length, "file:\\\\", 7 )
+ 0 == rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength( strURL->buffer, strURL->length, "file:\\", 6 )
, "sal.osl"
,"osl_getSystemPathFromFileURL: \"" << OUString(strURL) << "\" is not encoded !!!");
@@ -695,8 +695,8 @@ oslFileError osl_getSystemPathFromFileURL_( rtl_uString *strURL, rtl_uString **p
const sal_Unicode *pDecodedURL = rtl_uString_getStr( strDecodedURL );
nDecodedLen = rtl_uString_getLength( strDecodedURL );
- /* Must start with "file://" */
- if ( 0 == rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength( pDecodedURL, nDecodedLen, "file:\\\\", 7 ) )
+ /* Must start with "file:/" */
+ if ( 0 == rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength( pDecodedURL, nDecodedLen, "file:\\", 6 ) )
{
sal_uInt32 nSkip;
@@ -707,8 +707,10 @@ oslFileError osl_getSystemPathFromFileURL_( rtl_uString *strURL, rtl_uString **p
0 == rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength( pDecodedURL, nDecodedLen, "file:\\\\127.0.0.1\\", 17 )
)
nSkip = 17;
- else
+ else if ( 0 == rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength( pDecodedURL, nDecodedLen, "file:\\\\", 7 ) )
nSkip = 5;
+ else
+ nSkip = 6;
/* Indicates local root */
if ( nDecodedLen == nSkip )
diff --git a/sal/qa/osl/getsystempathfromfileurl/test-getsystempathfromfileurl.cxx b/sal/qa/osl/getsystempathfromfileurl/test-getsystempathfromfileurl.cxx
index 51022d9e3fe2..4fd5d6b16ffb 100644
--- a/sal/qa/osl/getsystempathfromfileurl/test-getsystempathfromfileurl.cxx
+++ b/sal/qa/osl/getsystempathfromfileurl/test-getsystempathfromfileurl.cxx
@@ -134,12 +134,10 @@ void Test::testLocalhost3Authority() {
}
void Test::testNoAuthority() {
-#if !defined(_WIN32) //TODO
OUString p;
auto e = osl::FileBase::getSystemPathFromFileURL("file:" MY_PATH_IN, p);
CPPUNIT_ASSERT_EQUAL(osl::FileBase::E_None, e);
CPPUNIT_ASSERT_EQUAL(OUString(MY_PATH_OUT), p);
-#endif
}
void Test::testEmptyPath() {