diff options
author | Jan Holesovsky <kendy@collabora.com> | 2015-07-03 18:14:31 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2015-07-03 18:17:46 +0200 |
commit | e83cb37cf7546e8bc46d0d49b487dcd352b67093 (patch) | |
tree | fa62a70b93bae3cf0766bddd11e63b4e5f8ff307 | |
parent | c9175a1bd3249ad573ae6827bf19963a3ebe2fbc (diff) |
LOK: Don't try to absolutize URL's.
Based on a patch by Henry Castro.
Change-Id: Ia7aca20feb8f6095adf7dfe510ed78b1e9882740
-rw-r--r-- | desktop/source/lib/init.cxx | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index ee47cd864774..3a0ce67af246 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -161,13 +161,18 @@ static OUString getUString(const char* pString) return OStringToOUString(sString, RTL_TEXTENCODING_UTF8); } -// Try to convert a relative URL to an absolute one +/// Try to convert a relative URL to an absolute one, unless it already looks like an URL. static OUString getAbsoluteURL(const char* pURL) { - OUString aURL( getUString( pURL ) ); + OUString aURL(getUString(pURL)); + + // return unchanged if it likely is an URL already + if (aURL.indexOf("://") > 0) + return aURL; + OUString sAbsoluteDocUrl, sWorkingDir, sDocPathUrl; - // FIXME: this would appear to kill non-file URLs. + // convert relative paths to absolute ones osl_getProcessWorkingDir(&sWorkingDir.pData); osl::FileBase::getFileURLFromSystemPath( aURL, sDocPathUrl ); osl::FileBase::getAbsoluteFileURL(sWorkingDir, sDocPathUrl, sAbsoluteDocUrl); @@ -343,7 +348,7 @@ static LibreOfficeKitDocument* lo_documentLoadWithOptions(LibreOfficeKit* pThis, SolarMutexGuard aGuard; - OUString aURL = getAbsoluteURL(pURL); + OUString aURL(getAbsoluteURL(pURL)); pLib->maLastExceptionMsg.clear(); @@ -409,7 +414,7 @@ static int doc_saveAs(LibreOfficeKitDocument* pThis, const char* sUrl, const cha LibLODocument_Impl* pDocument = static_cast<LibLODocument_Impl*>(pThis); OUString sFormat = getUString(pFormat); - OUString aURL = getAbsoluteURL(sUrl); + OUString aURL(getAbsoluteURL(sUrl)); try { |