diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2013-10-16 12:43:46 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2013-10-16 12:43:46 +0200 |
commit | 0522b84769922218cc1e1c9c7baa16e9fad77538 (patch) | |
tree | aa15228095f5ef8b12c2a7d02dc7fc5b02a803de | |
parent | a0b389d682f10a78a0c0e2fc9188af22088b8de2 (diff) |
Straighten the removeFragment code again
...what apparently happened is:
(1) First, 2c6363eb16f50a8cfd81bc8511554af4f9e06478 "Be less pathetic" replaced
MediaDescriptor::impl_normalizeURL with removeFragment.
(2) Then, b378e754ae892a044460cfbe33ccc2e51c01f5ca "CMIS: fix file saving issue"
(plus follow-up b50d3727cf336bb536efe7bf067f484ddf864e9a "WaE: unused
function 'removeFragment'") removed calling removeFragment at all (but re-
introduced a now bogus "Parse URL! ..." comment that (1) had removed), which
(3) 34f4d2574987b272681b5843e8f5edc374f55fde "CMIS file picker: it really does
not like ID Mark" tried to revert again (but kept the bogus comment in), and
(4) odd commit 319b160320a045b1a5b302dafbc2220ee1d4d3c3 "CMIS file picker: it
really does not like ID Mark" (that looks like a merge conflict resolution
gone wrong) erroneously re-introduced MediaDescriptor::impl_normalizeURL
that (1) had removed, which caused a -Wunused-variable warning that
(5) 706c5a54f662ea58e3b3a64f189eb5120191152a "-Werror,-Wunused-variable" tried
to fix, but working under wrong assumptions.
The solution is to go effectively back to the code as it was after (1).
Change-Id: I62dfa9fa3adbea6b2cb10a509416fe3797c577b9
-rw-r--r-- | comphelper/source/misc/mediadescriptor.cxx | 63 | ||||
-rw-r--r-- | include/comphelper/mediadescriptor.hxx | 12 |
2 files changed, 14 insertions, 61 deletions
diff --git a/comphelper/source/misc/mediadescriptor.cxx b/comphelper/source/misc/mediadescriptor.cxx index 095df588f205..fd2ff28c0e5f 100644 --- a/comphelper/source/misc/mediadescriptor.cxx +++ b/comphelper/source/misc/mediadescriptor.cxx @@ -49,21 +49,22 @@ namespace comphelper{ namespace { - OUString removeFragment(OUString const & uri) { - css::uno::Reference< css::uri::XUriReference > ref( - css::uri::UriReferenceFactory::create( - comphelper::getProcessComponentContext())-> - parse(uri)); - if (ref.is()) { - ref->clearFragment(); - return ref->getUriReference(); - } else { - SAL_WARN("comphelper", "cannot parse <" << uri << ">"); - return uri; - } +OUString removeFragment(OUString const & uri) { + css::uno::Reference< css::uri::XUriReference > ref( + css::uri::UriReferenceFactory::create( + comphelper::getProcessComponentContext())-> + parse(uri)); + if (ref.is()) { + ref->clearFragment(); + return ref->getUriReference(); + } else { + SAL_WARN("comphelper", "cannot parse <" << uri << ">"); + return uri; } } +} + const OUString& MediaDescriptor::PROP_ABORTED() { static const OUString sProp("Aborted"); @@ -483,9 +484,7 @@ sal_Bool MediaDescriptor::impl_addInputStream( sal_Bool bLockFile ) throw css::uno::Exception("Found no URL.", css::uno::Reference< css::uno::XInterface >()); - // Parse URL! Only the main part has to be used further. E.g. a jumpmark can make trouble - OUString sNormalizedURL = impl_normalizeURL( sURL ); - return impl_openStreamWithURL( removeFragment(sNormalizedURL), bLockFile ); + return impl_openStreamWithURL( removeFragment(sURL), bLockFile ); } catch(const css::uno::Exception& ex) { @@ -724,40 +723,6 @@ sal_Bool MediaDescriptor::impl_openStreamWithURL( const OUString& sURL, sal_Bool return xInputStream.is(); } -OUString MediaDescriptor::impl_normalizeURL(const OUString& sURL) -{ - /* Remove Jumpmarks (fragments) of an URL only here. - They are not part of any URL and as a result may be - no ucb content can be created then. - On the other side arguments must exists ... because - they are part of an URL. - - Do not use the URLTransformer service here. Because - it parses the URL in another way. It's main part isnt enough - and it's complete part contains the jumpmark (fragment) parameter ... - */ - - try - { - css::uno::Reference< css::uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext(); - css::uno::Reference< css::uri::XUriReferenceFactory > xUriFactory = css::uri::UriReferenceFactory::create(xContext);; - css::uno::Reference< css::uri::XUriReference > xUriRef = xUriFactory->parse(sURL); - if (xUriRef.is()) - { - xUriRef->clearFragment(); - return xUriRef->getUriReference(); - } - } - catch(const css::uno::RuntimeException&) - { throw; } - catch(const css::uno::Exception&) - {} - - // If an error ocurred ... return the original URL. - // It's a try .-) - return sURL; -} - } // namespace comphelper /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/comphelper/mediadescriptor.hxx b/include/comphelper/mediadescriptor.hxx index 5409f14f9fab..5f353e552753 100644 --- a/include/comphelper/mediadescriptor.hxx +++ b/include/comphelper/mediadescriptor.hxx @@ -289,18 +289,6 @@ class COMPHELPER_DLLPUBLIC MediaDescriptor : public SequenceAsHashMap be created as new item. FALSE otherwise. */ COMPHELPER_DLLPRIVATE sal_Bool impl_addInputStream( sal_Bool bLockFile ); - - /** @short some URL parts can make trouble for opening streams (e.g. jumpmarks.) - An URL should be "normalized" before its used. - - @param sURL - the original URL (e.g. including a jumpmark) - - @return [string] - the "normalized" URL (e.g. without jumpmark) - */ - COMPHELPER_DLLPRIVATE OUString impl_normalizeURL(const OUString& sURL); - }; } // namespace comphelper |