summaryrefslogtreecommitdiff
path: root/tools/source
diff options
context:
space:
mode:
Diffstat (limited to 'tools/source')
-rw-r--r--tools/source/fsys/urlobj.cxx6
1 files changed, 2 insertions, 4 deletions
diff --git a/tools/source/fsys/urlobj.cxx b/tools/source/fsys/urlobj.cxx
index 085c6d2846f0..6f4dfd068304 100644
--- a/tools/source/fsys/urlobj.cxx
+++ b/tools/source/fsys/urlobj.cxx
@@ -1476,8 +1476,6 @@ bool INetURLObject::setAbsURIRef(OUString const & rTheAbsURIRef,
}
void INetURLObject::changeScheme(INetProtocol eTargetScheme) {
- OUString aTmpStr=m_aAbsURIRef.toString();
- m_aAbsURIRef.setLength(0);
int oldSchemeLen = 0;
const OUString& rOldSchemeName = getSchemeInfo().m_sScheme;
if (m_eScheme == INetProtocol::Generic)
@@ -1487,8 +1485,8 @@ void INetURLObject::changeScheme(INetProtocol eTargetScheme) {
m_eScheme=eTargetScheme;
const OUString& rNewSchemeName = getSchemeInfo().m_sScheme;
int newSchemeLen = rNewSchemeName.getLength();
- m_aAbsURIRef.append(rNewSchemeName);
- m_aAbsURIRef.append(aTmpStr.getStr()+oldSchemeLen);
+ m_aAbsURIRef.remove(0, oldSchemeLen);
+ m_aAbsURIRef.insert(0, rNewSchemeName);
int delta=newSchemeLen-oldSchemeLen;
m_aUser+=delta;
m_aAuth+=delta;