[Libreoffice-commits] core.git: basic/source cui/source forms/source framework/source include/tools sc/source sd/source sfx2/source sot/source svtools/source svx/source sw/source tools/source vcl/generic

Stephan Bergmann sbergman at redhat.com
Tue Apr 7 11:23:40 PDT 2015


 basic/source/runtime/iosys.cxx                            |    2 
 cui/source/dialogs/linkdlg.cxx                            |    4 
 forms/source/component/Button.cxx                         |    2 
 forms/source/component/DatabaseForm.cxx                   |    8 
 forms/source/component/ImageButton.cxx                    |    2 
 framework/source/uielement/fontmenucontroller.cxx         |    2 
 include/tools/urlobj.hxx                                  |   71 -
 sc/source/core/tool/compiler.cxx                          |    4 
 sc/source/ui/view/gridwin5.cxx                            |    2 
 sc/source/ui/view/tabvwsh3.cxx                            |    2 
 sd/source/filter/eppt/epptso.cxx                          |    2 
 sd/source/ui/func/fudraw.cxx                              |   10 
 sd/source/ui/func/futext.cxx                              |    2 
 sd/source/ui/view/drviews3.cxx                            |    2 
 sfx2/source/appl/macroloader.cxx                          |    6 
 sfx2/source/appl/newhelp.cxx                              |    4 
 sfx2/source/control/unoctitm.cxx                          |    2 
 sfx2/source/doc/docfile.cxx                               |    1 
 sfx2/source/doc/objmisc.cxx                               |    2 
 sfx2/source/notify/eventsupplier.cxx                      |    2 
 sot/source/sdstor/ucbstorage.cxx                          |    4 
 svtools/source/control/inettbc.cxx                        |    4 
 svx/source/form/fmpage.cxx                                |    4 
 sw/source/core/doc/DocumentLinksAdministrationManager.cxx |    2 
 sw/source/core/text/EnhancedPDFExportHelper.cxx           |    1 
 sw/source/filter/html/htmlgrin.cxx                        |    2 
 sw/source/filter/ww8/wrtw8nds.cxx                         |    4 
 sw/source/ui/chrdlg/chardlg.cxx                           |    2 
 sw/source/ui/dialog/uiregionsw.cxx                        |    5 
 sw/source/ui/frmdlg/frmpage.cxx                           |    2 
 sw/source/ui/index/cnttab.cxx                             |    1 
 sw/source/uibase/dbui/dbmgr.cxx                           |    1 
 sw/source/uibase/shells/grfsh.cxx                         |    1 
 sw/source/uibase/uiview/view2.cxx                         |    2 
 sw/source/uibase/utlui/content.cxx                        |    4 
 tools/source/fsys/urlobj.cxx                              |  628 ++++----------
 vcl/generic/fontmanager/fontmanager.cxx                   |    2 
 37 files changed, 286 insertions(+), 515 deletions(-)

New commits:
commit 5ba54aacd5318fbf9b9f0589a090f717c53833c7
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue Apr 7 20:21:21 2015 +0200

    Remove dead INetProtocol::Vim
    
    ...which removes the need to abstract over the standard URI '%' escape prefix
    vs. the silly vim '=' special case invention.
    
    Change-Id: I54a52dd912c3aafc38275a0ac2466a6daeec328f

diff --git a/basic/source/runtime/iosys.cxx b/basic/source/runtime/iosys.cxx
index c397316..76020c5 100644
--- a/basic/source/runtime/iosys.cxx
+++ b/basic/source/runtime/iosys.cxx
@@ -195,7 +195,7 @@ OUString findUserInDescription( const OUString& aDescription )
 
         sal_Int32 eindex = token.indexOf((sal_Unicode)'=');
         OUString left = token.copy(0, eindex).toAsciiLowerCase().trim();
-        OUString right = INetURLObject::decode( token.copy(eindex + 1).trim(), '%',
+        OUString right = INetURLObject::decode( token.copy(eindex + 1).trim(),
                             INetURLObject::DECODE_WITH_CHARSET );
 
         if( left == "user" )
diff --git a/cui/source/dialogs/linkdlg.cxx b/cui/source/dialogs/linkdlg.cxx
index 911a76c..7b8e25e 100644
--- a/cui/source/dialogs/linkdlg.cxx
+++ b/cui/source/dialogs/linkdlg.cxx
@@ -226,7 +226,7 @@ IMPL_LINK( SvBaseLinksDlg, LinksSelectHdl, SvTabListBox *, pSvTabListBox )
 
         OUString aFileName;
         pLinkMgr->GetDisplayNames( pLink, &sType, &aFileName, pLinkNm, pFilter );
-        aFileName = INetURLObject::decode(aFileName, '%', INetURLObject::DECODE_UNAMBIGUOUS);
+        aFileName = INetURLObject::decode(aFileName, INetURLObject::DECODE_UNAMBIGUOUS);
         m_pFtFullFileName->SetText( aFileName );
         m_pFtFullSourceName->SetText( sLink );
         m_pFtFullTypeName->SetText( sType );
@@ -641,7 +641,7 @@ void SvBaseLinksDlg::InsertEntry( const SvBaseLink& rLink, sal_uLong nPos, bool
     OUString aTxt = m_pTbLinks->GetEllipsisString( sFileNm, nWidthPixel, TEXT_DRAW_PATHELLIPSIS );
     INetURLObject aPath( sFileNm, INetProtocol::File );
     OUString aFileName = aPath.getName();
-    aFileName = INetURLObject::decode(aFileName, '%', INetURLObject::DECODE_UNAMBIGUOUS);
+    aFileName = INetURLObject::decode(aFileName, INetURLObject::DECODE_UNAMBIGUOUS);
 
     if( aFileName.getLength() > aTxt.getLength() )
         aTxt = aFileName;
diff --git a/forms/source/component/Button.cxx b/forms/source/component/Button.cxx
index ac57602..9870aec 100644
--- a/forms/source/component/Button.cxx
+++ b/forms/source/component/Button.cxx
@@ -144,7 +144,7 @@ void OButtonModel::write(const Reference<XObjectOutputStream>& _rxOutStream) thr
 
         _rxOutStream->writeShort( (sal_uInt16)m_eButtonType );
 
-        OUString sTmp = INetURLObject::decode( m_sTargetURL, '%', INetURLObject::DECODE_UNAMBIGUOUS);
+        OUString sTmp = INetURLObject::decode( m_sTargetURL, INetURLObject::DECODE_UNAMBIGUOUS);
         _rxOutStream << sTmp;
         _rxOutStream << m_sTargetFrame;
         writeHelpTextCompatibly(_rxOutStream);
diff --git a/forms/source/component/DatabaseForm.cxx b/forms/source/component/DatabaseForm.cxx
index 7033be9..1bf4af9 100644
--- a/forms/source/component/DatabaseForm.cxx
+++ b/forms/source/component/DatabaseForm.cxx
@@ -484,7 +484,7 @@ OUString ODatabaseForm::GetDataEncoded(bool _bURLEncoded,const Reference<XContro
             aURL.SetSmartProtocol(INetProtocol::File);
             aURL.SetSmartURL(aValue);
             if( INetProtocol::File == aURL.GetProtocol() )
-                aValue = INetURLObject::decode(aURL.PathToFileName(), '%', INetURLObject::DECODE_UNAMBIGUOUS);
+                aValue = INetURLObject::decode(aURL.PathToFileName(), INetURLObject::DECODE_UNAMBIGUOUS);
         }
         Encode( aName );
         Encode( aValue );
@@ -1031,7 +1031,7 @@ bool ODatabaseForm::InsertFilePart( INetMIMEMessage& rParent, const OUString& rN
         aURL.SetSmartURL(rFileName);
         if( INetProtocol::File == aURL.GetProtocol() )
         {
-            aFileName = INetURLObject::decode(aURL.PathToFileName(), '%', INetURLObject::DECODE_UNAMBIGUOUS);
+            aFileName = INetURLObject::decode(aURL.PathToFileName(), INetURLObject::DECODE_UNAMBIGUOUS);
             pStream = ::utl::UcbStreamHelper::CreateStream(aFileName, StreamMode::READ);
             if (!pStream || (pStream->GetError() != ERRCODE_NONE))
             {
@@ -3862,7 +3862,7 @@ void SAL_CALL ODatabaseForm::write(const Reference<XObjectOutputStream>& _rxOutS
     _rxOutStream->writeBoolean(m_bAllowDelete);
 
     // html form stuff
-    OUString sTmp = INetURLObject::decode( m_aTargetURL, '%', INetURLObject::DECODE_UNAMBIGUOUS);
+    OUString sTmp = INetURLObject::decode( m_aTargetURL, INetURLObject::DECODE_UNAMBIGUOUS);
     _rxOutStream << sTmp;
     _rxOutStream->writeShort( (sal_Int16)m_eSubmitMethod );
     _rxOutStream->writeShort( (sal_Int16)m_eSubmitEncoding );
@@ -3972,7 +3972,7 @@ void SAL_CALL ODatabaseForm::read(const Reference<XObjectInputStream>& _rxInStre
     // html stuff
     OUString sTmp;
     _rxInStream >> sTmp;
-    m_aTargetURL = INetURLObject::decode( sTmp, '%', INetURLObject::DECODE_UNAMBIGUOUS);
+    m_aTargetURL = INetURLObject::decode( sTmp, INetURLObject::DECODE_UNAMBIGUOUS);
     m_eSubmitMethod     = (FormSubmitMethod)_rxInStream->readShort();
     m_eSubmitEncoding       = (FormSubmitEncoding)_rxInStream->readShort();
     _rxInStream >> m_aTargetFrame;
diff --git a/forms/source/component/ImageButton.cxx b/forms/source/component/ImageButton.cxx
index f355b9d..4889d9d 100644
--- a/forms/source/component/ImageButton.cxx
+++ b/forms/source/component/ImageButton.cxx
@@ -96,7 +96,7 @@ void OImageButtonModel::write(const Reference<XObjectOutputStream>& _rxOutStream
     _rxOutStream->writeShort(0x0003);
     _rxOutStream->writeShort((sal_uInt16)m_eButtonType);
 
-    OUString sTmp(INetURLObject::decode( m_sTargetURL, '%', INetURLObject::DECODE_UNAMBIGUOUS));
+    OUString sTmp(INetURLObject::decode( m_sTargetURL, INetURLObject::DECODE_UNAMBIGUOUS));
     _rxOutStream << sTmp;
     _rxOutStream << m_sTargetFrame;
     writeHelpTextCompatibly(_rxOutStream);
diff --git a/framework/source/uielement/fontmenucontroller.cxx b/framework/source/uielement/fontmenucontroller.cxx
index d0a287e..91b262f 100644
--- a/framework/source/uielement/fontmenucontroller.cxx
+++ b/framework/source/uielement/fontmenucontroller.cxx
@@ -104,7 +104,7 @@ void FontMenuController::fillPopupMenu( const Sequence< OUString >& rFontNameSeq
                 m_xPopupMenu->checkItem( i+1, sal_True );
             // use VCL popup menu pointer to set vital information that are not part of the awt implementation
             OUStringBuffer aCommandBuffer( aFontNameCommandPrefix );
-            aCommandBuffer.append( INetURLObject::encode( rName, INetURLObject::PART_HTTP_QUERY, '%', INetURLObject::ENCODE_ALL ));
+            aCommandBuffer.append( INetURLObject::encode( rName, INetURLObject::PART_HTTP_QUERY, INetURLObject::ENCODE_ALL ));
             OUString aFontNameCommand = aCommandBuffer.makeStringAndClear();
             pVCLPopupMenu->SetItemCommand( i+1, aFontNameCommand ); // Store font name into item command.
         }
diff --git a/include/tools/urlobj.hxx b/include/tools/urlobj.hxx
index b2aa2b7..ddab9f2 100644
--- a/include/tools/urlobj.hxx
+++ b/include/tools/urlobj.hxx
@@ -81,7 +81,6 @@ enum class INetProtocol
     Cid,
     Out,
     VndSunStarHier,
-    Vim,
     Uno,
     Component,
     VndSunStarPkg,
@@ -185,7 +184,7 @@ public:
     inline OUString GetMainURL(DecodeMechanism eMechanism,
                                 rtl_TextEncoding eCharset
                                     = RTL_TEXTENCODING_UTF8) const
-    { return decode(m_aAbsURIRef, getEscapePrefix(), eMechanism, eCharset); }
+    { return decode(m_aAbsURIRef, eMechanism, eCharset); }
 
     OUString GetURLNoPass(DecodeMechanism eMechanism = DECODE_TO_IURI,
                            rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8)
@@ -439,12 +438,12 @@ public:
     inline OUString GetUser(DecodeMechanism eMechanism = DECODE_TO_IURI,
                              rtl_TextEncoding eCharset
                                  = RTL_TEXTENCODING_UTF8) const
-    { return decode(m_aUser, getEscapePrefix(), eMechanism, eCharset); }
+    { return decode(m_aUser, eMechanism, eCharset); }
 
     inline OUString GetPass(DecodeMechanism eMechanism = DECODE_TO_IURI,
                              rtl_TextEncoding eCharset
                                  = RTL_TEXTENCODING_UTF8) const
-    { return decode(m_aAuth, getEscapePrefix(), eMechanism, eCharset); }
+    { return decode(m_aAuth, eMechanism, eCharset); }
 
     inline bool SetUser(OUString const & rTheUser,
                         EncodeMechanism eMechanism = WAS_ENCODED,
@@ -468,7 +467,7 @@ public:
     inline OUString GetHost(DecodeMechanism eMechanism = DECODE_TO_IURI,
                              rtl_TextEncoding eCharset
                                  = RTL_TEXTENCODING_UTF8) const
-    { return decode(m_aHost, getEscapePrefix(), eMechanism, eCharset); }
+    { return decode(m_aHost, eMechanism, eCharset); }
 
     OUString GetHostPort(DecodeMechanism eMechanism = DECODE_TO_IURI,
                           rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8);
@@ -489,7 +488,7 @@ public:
     inline OUString GetURLPath(DecodeMechanism eMechanism = DECODE_TO_IURI,
                                 rtl_TextEncoding eCharset
                                     = RTL_TEXTENCODING_UTF8) const
-    { return decode(m_aPath, getEscapePrefix(), eMechanism, eCharset); }
+    { return decode(m_aPath, eMechanism, eCharset); }
 
     inline bool SetURLPath(OUString const & rThePath,
                            EncodeMechanism eMechanism = WAS_ENCODED,
@@ -789,7 +788,7 @@ public:
     inline OUString GetParam(DecodeMechanism eMechanism = DECODE_TO_IURI,
                               rtl_TextEncoding eCharset
                                   = RTL_TEXTENCODING_UTF8) const
-    { return decode(m_aQuery, getEscapePrefix(), eMechanism, eCharset); }
+    { return decode(m_aQuery, eMechanism, eCharset); }
 
     inline bool SetParam(OUString const & rTheQuery,
                          EncodeMechanism eMechanism = WAS_ENCODED,
@@ -802,7 +801,7 @@ public:
     inline OUString GetMark(DecodeMechanism eMechanism = DECODE_TO_IURI,
                              rtl_TextEncoding eCharset
                                  = RTL_TEXTENCODING_UTF8) const
-    { return decode(m_aFragment, getEscapePrefix(), eMechanism, eCharset); }
+    { return decode(m_aFragment, eMechanism, eCharset); }
 
     inline bool SetMark(OUString const & rTheFragment,
                         EncodeMechanism eMechanism = WAS_ENCODED,
@@ -864,7 +863,6 @@ public:
     enum Part
     {
         PART_USER_PASSWORD          = 0x00001,
-        PART_VIM                    = 0x00004,
         PART_FPATH                  = 0x00008,
         PART_AUTHORITY              = 0x00010,
         PART_REL_SEGMENT_EXTRA      = 0x00020,
@@ -898,9 +896,6 @@ public:
         be encoded (replaced by escape sequences).  Characters outside the US-
         ASCII range are always 'forbidden.'
 
-        @param cEscapePrefix  The first character in an escape sequence
-        (normally '%').
-
         @param eMechanism  See the general discussion for set-methods.
 
         @param eCharset  See the general discussion for set-methods.
@@ -909,7 +904,6 @@ public:
         charset ('forbidden' characters replaced by escape sequences).
      */
     static inline OUString encode(OUString const & rText, Part ePart,
-                                   sal_Char cEscapePrefix,
                                    EncodeMechanism eMechanism,
                                    rtl_TextEncoding eCharset
                                        = RTL_TEXTENCODING_UTF8);
@@ -918,9 +912,6 @@ public:
 
         @param rText  Some (encoded) text.
 
-        @param cEscapePrefix  The first character in an escape sequence
-        (normally '%').
-
         @param eMechanism  See the general discussion for get-methods.
 
         @param eCharset  See the general discussion for get-methods.
@@ -929,29 +920,23 @@ public:
         charset (escape sequences replaced by 'raw' characters).
      */
     static inline OUString decode(OUString const & rText,
-                                   sal_Char cEscapePrefix,
                                    DecodeMechanism eMechanism,
                                    rtl_TextEncoding eCharset
                                        = RTL_TEXTENCODING_UTF8);
 
     static inline OUString decode(OUStringBuffer const & rText,
-                                   sal_Char cEscapePrefix,
                                    DecodeMechanism eMechanism,
                                    rtl_TextEncoding eCharset
                                        = RTL_TEXTENCODING_UTF8);
 
-    static void appendUCS4Escape(OUStringBuffer & rTheText,
-                                 sal_Char cEscapePrefix,
-                                 sal_uInt32 nUCS4);
+    static void appendUCS4Escape(OUStringBuffer & rTheText, sal_uInt32 nUCS4);
 
     static void appendUCS4(OUStringBuffer & rTheText, sal_uInt32 nUCS4,
                            EscapeType eEscapeType, bool bOctets, Part ePart,
-                           sal_Char cEscapePrefix, rtl_TextEncoding eCharset,
-                           bool bKeepVisibleEscapes);
+                           rtl_TextEncoding eCharset, bool bKeepVisibleEscapes);
 
     static sal_uInt32 getUTF32(sal_Unicode const *& rBegin,
                                sal_Unicode const * pEnd, bool bOctets,
-                               sal_Char cEscapePrefix,
                                EncodeMechanism eMechanism,
                                rtl_TextEncoding eCharset,
                                EscapeType & rEscapeType);
@@ -1227,32 +1212,25 @@ private:
 
     // Coding:
 
-    static inline sal_Char getEscapePrefix(INetProtocol eTheScheme)
-    { return eTheScheme == INetProtocol::Vim ? '=' : '%'; }
-
-    inline sal_Char getEscapePrefix() const
-    { return getEscapePrefix(m_eScheme); }
-
     TOOLS_DLLPRIVATE static inline void appendEscape(
-        OUStringBuffer & rTheText, sal_Char cEscapePrefix,
-        sal_uInt32 nOctet);
+        OUStringBuffer & rTheText, sal_uInt32 nOctet);
 
     static OUString encodeText(
         sal_Unicode const * pBegin, sal_Unicode const * pEnd, bool bOctets,
-        Part ePart, sal_Char cEscapePrefix, EncodeMechanism eMechanism,
-        rtl_TextEncoding eCharset, bool bKeepVisibleEscapes);
+        Part ePart, EncodeMechanism eMechanism, rtl_TextEncoding eCharset,
+        bool bKeepVisibleEscapes);
 
     static inline OUString encodeText(
         OUString const & rTheText, bool bOctets, Part ePart,
-        sal_Char cEscapePrefix, EncodeMechanism eMechanism,
-        rtl_TextEncoding eCharset, bool bKeepVisibleEscapes);
+        EncodeMechanism eMechanism, rtl_TextEncoding eCharset,
+        bool bKeepVisibleEscapes);
 
     static OUString decode(
         sal_Unicode const * pBegin, sal_Unicode const * pEnd,
-        sal_Char cEscapePrefix, DecodeMechanism, rtl_TextEncoding eCharset);
+        DecodeMechanism, rtl_TextEncoding eCharset);
 
     inline OUString decode(
-        SubString const & rSubString, sal_Char cEscapePrefix,
+        SubString const & rSubString,
         DecodeMechanism eMechanism, rtl_TextEncoding eCharset) const;
 
     // Specialized helpers:
@@ -1267,26 +1245,23 @@ private:
 // static
 inline OUString INetURLObject::encodeText(OUString const & rTheText,
                                            bool bOctets, Part ePart,
-                                           sal_Char cEscapePrefix,
                                            EncodeMechanism eMechanism,
                                            rtl_TextEncoding eCharset,
                                            bool bKeepVisibleEscapes)
 {
     return encodeText(rTheText.getStr(),
                       rTheText.getStr() + rTheText.getLength(), bOctets, ePart,
-                      cEscapePrefix, eMechanism, eCharset,
-                      bKeepVisibleEscapes);
+                      eMechanism, eCharset, bKeepVisibleEscapes);
 }
 
 inline OUString INetURLObject::decode(SubString const & rSubString,
-                                       sal_Char cEscapePrefix,
                                        DecodeMechanism eMechanism,
                                        rtl_TextEncoding eCharset) const
 {
     return rSubString.isPresent() ?
                decode(m_aAbsURIRef.getStr() + rSubString.getBegin(),
                       m_aAbsURIRef.getStr() + rSubString.getEnd(),
-                      cEscapePrefix, eMechanism, eCharset) :
+                      eMechanism, eCharset) :
                OUString();
 }
 
@@ -1457,31 +1432,27 @@ inline INetURLObject::INetURLObject(OUString const & rFSysPath,
 
 // static
 inline OUString INetURLObject::encode(OUString const & rText, Part ePart,
-                                       sal_Char cEscapePrefix,
                                        EncodeMechanism eMechanism,
                                        rtl_TextEncoding eCharset)
 {
-    return encodeText(rText, false, ePart, cEscapePrefix, eMechanism,
-                      eCharset, false);
+    return encodeText(rText, false, ePart, eMechanism, eCharset, false);
 }
 
 // static
 inline OUString INetURLObject::decode(OUString const & rText,
-                                       sal_Char cEscapePrefix,
                                        DecodeMechanism eMechanism,
                                        rtl_TextEncoding eCharset)
 {
     return decode(rText.getStr(), rText.getStr() + rText.getLength(),
-                  cEscapePrefix, eMechanism, eCharset);
+                  eMechanism, eCharset);
 }
 
 inline OUString INetURLObject::decode(OUStringBuffer const & rText,
-                                       sal_Char cEscapePrefix,
                                        DecodeMechanism eMechanism,
                                        rtl_TextEncoding eCharset)
 {
     return decode(rText.getStr(), rText.getStr() + rText.getLength(),
-                  cEscapePrefix, eMechanism, eCharset);
+                  eMechanism, eCharset);
 }
 
 #endif
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index a82596c..5512e382 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -861,7 +861,7 @@ struct ConventionOOO_A1 : public Convention_A1
             if (bEncodeUrl)
                 aFile = rFileName;
             else
-                aFile = INetURLObject::decode(rFileName, '%', INetURLObject::DECODE_UNAMBIGUOUS);
+                aFile = INetURLObject::decode(rFileName, INetURLObject::DECODE_UNAMBIGUOUS);
 
             rBuffer.append("'" + aFile.replaceAll("'", "''") + "'#");
 
@@ -1096,7 +1096,7 @@ struct ConventionXL
         if (bEncodeUrl)
             aFullName = rFullName;
         else
-            aFullName = INetURLObject::decode(rFullName, '%', INetURLObject::DECODE_UNAMBIGUOUS);
+            aFullName = INetURLObject::decode(rFullName, INetURLObject::DECODE_UNAMBIGUOUS);
 
         const sal_Unicode* pBuf = aFullName.getStr();
         sal_Int32 nLen = aFullName.getLength();
diff --git a/sc/source/ui/view/gridwin5.cxx b/sc/source/ui/view/gridwin5.cxx
index 249312f..4640370 100644
--- a/sc/source/ui/view/gridwin5.cxx
+++ b/sc/source/ui/view/gridwin5.cxx
@@ -379,7 +379,7 @@ void ScGridWindow::RequestHelp(const HelpEvent& rHEvt)
             OUString aUrl;
             if ( GetEditUrl( aPosPixel, NULL, &aUrl, NULL ) )
             {
-                aHelpText = INetURLObject::decode( aUrl, '%',
+                aHelpText = INetURLObject::decode( aUrl,
                     INetURLObject::DECODE_UNAMBIGUOUS );
 
                 if( bCtrlClickHlink )
diff --git a/sc/source/ui/view/tabvwsh3.cxx b/sc/source/ui/view/tabvwsh3.cxx
index bee2927..f69cabf 100644
--- a/sc/source/ui/view/tabvwsh3.cxx
+++ b/sc/source/ui/view/tabvwsh3.cxx
@@ -246,7 +246,7 @@ void ScTabViewShell::Execute( SfxRequest& rReq )
                 if ( nSlot == SID_JUMPTOMARK )
                 {
                     //  URL has to be decoded for escaped characters (%20)
-                    aAddress = INetURLObject::decode( aAddress, '%',
+                    aAddress = INetURLObject::decode( aAddress,
                                                INetURLObject::DECODE_WITH_CHARSET,
                                             RTL_TEXTENCODING_UTF8 );
                 }
diff --git a/sd/source/filter/eppt/epptso.cxx b/sd/source/filter/eppt/epptso.cxx
index 546cbe5..b80f143 100644
--- a/sd/source/filter/eppt/epptso.cxx
+++ b/sd/source/filter/eppt/epptso.cxx
@@ -1142,7 +1142,7 @@ void PPTWriter::ImplWriteTextStyleAtom( SvStream& rOut, int nTextInstance, sal_u
                             }
                             else if ( pFieldEntry->aFieldUrl[0] == '#' )
                             {
-                                OUString aPage( INetURLObject::decode( pFieldEntry->aFieldUrl, '%', INetURLObject::DECODE_WITH_CHARSET ) );
+                                OUString aPage( INetURLObject::decode( pFieldEntry->aFieldUrl, INetURLObject::DECODE_WITH_CHARSET ) );
                                 aPage = aPage.copy( 1 );
 
                                 std::vector<OUString>::const_iterator pIter = std::find(
diff --git a/sd/source/ui/func/fudraw.cxx b/sd/source/ui/func/fudraw.cxx
index d8a0586..6344dba 100644
--- a/sd/source/ui/func/fudraw.cxx
+++ b/sd/source/ui/func/fudraw.cxx
@@ -812,7 +812,7 @@ bool FuDraw::SetHelpText(SdrObject* pObj, const Point& rPosPixel, const SdrViewE
             if (aHelpText.isEmpty())
             {
                 // show url if no name is available
-                aHelpText = INetURLObject::decode( pIMapObj->GetURL(), '%', INetURLObject::DECODE_WITH_CHARSET );
+                aHelpText = INetURLObject::decode( pIMapObj->GetURL(), INetURLObject::DECODE_WITH_CHARSET );
             }
         }
     }
@@ -855,7 +855,7 @@ bool FuDraw::SetHelpText(SdrObject* pObj, const Point& rPosPixel, const SdrViewE
                 // jump to object/page
                 aHelpText = SD_RESSTR(STR_CLICK_ACTION_BOOKMARK);
                 aHelpText += ": ";
-                aHelpText += INetURLObject::decode( pInfo->GetBookmark(), '%', INetURLObject::DECODE_WITH_CHARSET );
+                aHelpText += INetURLObject::decode( pInfo->GetBookmark(), INetURLObject::DECODE_WITH_CHARSET );
             }
             break;
 
@@ -864,7 +864,7 @@ bool FuDraw::SetHelpText(SdrObject* pObj, const Point& rPosPixel, const SdrViewE
                 // jump to document (object/page)
                 aHelpText = SD_RESSTR(STR_CLICK_ACTION_DOCUMENT);
                 aHelpText += ": ";
-                aHelpText += INetURLObject::decode( pInfo->GetBookmark(), '%', INetURLObject::DECODE_WITH_CHARSET );
+                aHelpText += INetURLObject::decode( pInfo->GetBookmark(), INetURLObject::DECODE_WITH_CHARSET );
             }
             break;
 
@@ -873,7 +873,7 @@ bool FuDraw::SetHelpText(SdrObject* pObj, const Point& rPosPixel, const SdrViewE
                 // execute program
                 aHelpText = SD_RESSTR(STR_CLICK_ACTION_PROGRAM);
                 aHelpText += ": ";
-                aHelpText += INetURLObject::decode( pInfo->GetBookmark(), '%', INetURLObject::DECODE_WITH_CHARSET );
+                aHelpText += INetURLObject::decode( pInfo->GetBookmark(), INetURLObject::DECODE_WITH_CHARSET );
             }
             break;
 
@@ -928,7 +928,7 @@ bool FuDraw::SetHelpText(SdrObject* pObj, const Point& rPosPixel, const SdrViewE
         /**************************************************************
         * URL-Field
         **************************************************************/
-        aHelpText = INetURLObject::decode( rVEvt.pURLField->GetURL(), '%', INetURLObject::DECODE_WITH_CHARSET );
+        aHelpText = INetURLObject::decode( rVEvt.pURLField->GetURL(), INetURLObject::DECODE_WITH_CHARSET );
     }
 
     if (!aHelpText.isEmpty())
diff --git a/sd/source/ui/func/futext.cxx b/sd/source/ui/func/futext.cxx
index 0f46a8d..27f6540 100644
--- a/sd/source/ui/func/futext.cxx
+++ b/sd/source/ui/func/futext.cxx
@@ -1177,7 +1177,7 @@ bool FuText::RequestHelp(const HelpEvent& rHEvt)
         if (pField && pField->ISA(SvxURLField))
         {
             // URL-Field
-            aHelpText = INetURLObject::decode( static_cast<const SvxURLField*>(pField)->GetURL(), '%', INetURLObject::DECODE_WITH_CHARSET );
+            aHelpText = INetURLObject::decode( static_cast<const SvxURLField*>(pField)->GetURL(), INetURLObject::DECODE_WITH_CHARSET );
         }
         if (!aHelpText.isEmpty())
         {
diff --git a/sd/source/ui/view/drviews3.cxx b/sd/source/ui/view/drviews3.cxx
index ea5cbff..56b6cad 100644
--- a/sd/source/ui/view/drviews3.cxx
+++ b/sd/source/ui/view/drviews3.cxx
@@ -420,7 +420,7 @@ void  DrawViewShell::ExecCtrl(SfxRequest& rReq)
 
                 if (pBookmark)
                 {
-                    OUString sBookmark(INetURLObject::decode(pBookmark->GetValue(), '%', INetURLObject::DECODE_WITH_CHARSET));
+                    OUString sBookmark(INetURLObject::decode(pBookmark->GetValue(), INetURLObject::DECODE_WITH_CHARSET));
 
                     rtl::Reference< sd::SlideShow > xSlideshow( SlideShow::GetSlideShow( GetViewShellBase() ) );
                     if(xSlideshow.is() && xSlideshow->isRunning())
diff --git a/sfx2/source/appl/macroloader.cxx b/sfx2/source/appl/macroloader.cxx
index 79f8ce5..5557ab3 100644
--- a/sfx2/source/appl/macroloader.cxx
+++ b/sfx2/source/appl/macroloader.cxx
@@ -218,7 +218,7 @@ ErrCode SfxMacroLoader::loadMacro( const OUString& rURL, com::sun::star::uno::An
     {
         // find BasicManager
         SfxObjectShell* pDoc = NULL;
-        OUString aBasMgrName( INetURLObject::decode(aMacro.copy( 8, nHashPos-8 ), '%', INetURLObject::DECODE_WITH_CHARSET) );
+        OUString aBasMgrName( INetURLObject::decode(aMacro.copy( 8, nHashPos-8 ), INetURLObject::DECODE_WITH_CHARSET) );
         if ( aBasMgrName.isEmpty() )
             pBasMgr = pAppMgr;
         else if ( aBasMgrName == "." )
@@ -255,7 +255,7 @@ ErrCode SfxMacroLoader::loadMacro( const OUString& rURL, com::sun::star::uno::An
             }
 
             // find BASIC method
-            OUString aQualifiedMethod( INetURLObject::decode(aMacro.copy( nHashPos+1 ), '%', INetURLObject::DECODE_WITH_CHARSET) );
+            OUString aQualifiedMethod( INetURLObject::decode(aMacro.copy( nHashPos+1 ), INetURLObject::DECODE_WITH_CHARSET) );
             OUString aArgs;
             if ( -1 != nArgsPos )
             {
@@ -318,7 +318,7 @@ ErrCode SfxMacroLoader::loadMacro( const OUString& rURL, com::sun::star::uno::An
     {
         // direct API call on a specified object
         OUStringBuffer aCall;
-        aCall.append('[').append(INetURLObject::decode(aMacro.copy(6), '%',
+        aCall.append('[').append(INetURLObject::decode(aMacro.copy(6),
             INetURLObject::DECODE_WITH_CHARSET));
         aCall.append(']');
         pAppMgr->GetLib(0)->Execute(aCall.makeStringAndClear());
diff --git a/sfx2/source/appl/newhelp.cxx b/sfx2/source/appl/newhelp.cxx
index d16ed6a..3f90d2d 100644
--- a/sfx2/source/appl/newhelp.cxx
+++ b/sfx2/source/appl/newhelp.cxx
@@ -936,7 +936,7 @@ SearchTabPage_Impl::SearchTabPage_Impl(vcl::Window* pParent, SfxHelpIndexWindow_
             {
                 OUString aToken = aUserData.getToken(i, ';');
                 m_pSearchED->InsertEntry( INetURLObject::decode(
-                    aToken, '%', INetURLObject::DECODE_WITH_CHARSET ) );
+                    aToken, INetURLObject::DECODE_WITH_CHARSET ) );
             }
         }
     }
@@ -959,7 +959,7 @@ SearchTabPage_Impl::~SearchTabPage_Impl()
     {
         OUString aText = m_pSearchED->GetEntry(i);
         aUserData += INetURLObject::encode(
-            aText, INetURLObject::PART_UNO_PARAM_VALUE, '%',
+            aText, INetURLObject::PART_UNO_PARAM_VALUE,
             INetURLObject::ENCODE_ALL );
         aUserData += ";";
     }
diff --git a/sfx2/source/control/unoctitm.cxx b/sfx2/source/control/unoctitm.cxx
index d355efa..0d98a25 100644
--- a/sfx2/source/control/unoctitm.cxx
+++ b/sfx2/source/control/unoctitm.cxx
@@ -561,7 +561,7 @@ void SfxDispatchController_Impl::addParametersToArgs( const com::sun::star::util
             else if ( aParamType.equalsAsciiL( URLTypeNames[URLType_STRING], 6 ))
             {
                 // STRING support
-                rArgs[nLen].Value <<= OUString( INetURLObject::decode( aValue, '%', INetURLObject::DECODE_WITH_CHARSET ));
+                rArgs[nLen].Value <<= OUString( INetURLObject::decode( aValue, INetURLObject::DECODE_WITH_CHARSET ));
             }
             else if ( aParamType.equalsAsciiL( URLTypeNames[URLType_DOUBLE], 6))
             {
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index 228900c..73deeca 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -2683,7 +2683,6 @@ void SfxMedium::SetIsRemote_Impl()
         case INetProtocol::Ftp:
         case INetProtocol::Http:
         case INetProtocol::Https:
-        case INetProtocol::Vim:
             pImp->m_bRemote = true;
         break;
         default:
diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
index 8ec5d45..19e74f3 100644
--- a/sfx2/source/doc/objmisc.cxx
+++ b/sfx2/source/doc/objmisc.cxx
@@ -928,7 +928,7 @@ OUString SfxObjectShell::GetTitle
         else if ( nMaxLength == SFX_TITLE_FILENAME )
         {
             OUString aName( aURL.GetBase() );
-            aName = INetURLObject::decode( aName, '%', INetURLObject::DECODE_WITH_CHARSET );
+            aName = INetURLObject::decode( aName, INetURLObject::DECODE_WITH_CHARSET );
             if( aName.isEmpty() )
                 aName = aURL.GetURLNoPass();
             return X(aName);
diff --git a/sfx2/source/notify/eventsupplier.cxx b/sfx2/source/notify/eventsupplier.cxx
index 57c1c08..b6ad3b1 100644
--- a/sfx2/source/notify/eventsupplier.cxx
+++ b/sfx2/source/notify/eventsupplier.cxx
@@ -444,7 +444,7 @@ void SfxEvents_Impl::NormalizeMacro( const ::comphelper::NamedValueCollection& i
                 sal_Int32 nArgsPos = aScript.indexOf( '(' );
                 if ( ( nHashPos != -1 ) && ( nArgsPos == -1 || nHashPos < nArgsPos ) )
                 {
-                    OUString aBasMgrName( INetURLObject::decode( aScript.copy( 8, nHashPos-8 ), '%', INetURLObject::DECODE_WITH_CHARSET ) );
+                    OUString aBasMgrName( INetURLObject::decode( aScript.copy( 8, nHashPos-8 ), INetURLObject::DECODE_WITH_CHARSET ) );
                     if ( aBasMgrName == "." )
                         aLibrary = pDoc->GetTitle();
                     else
diff --git a/sot/source/sdstor/ucbstorage.cxx b/sot/source/sdstor/ucbstorage.cxx
index 791334c..1a4eb96 100644
--- a/sot/source/sdstor/ucbstorage.cxx
+++ b/sot/source/sdstor/ucbstorage.cxx
@@ -1592,7 +1592,7 @@ UCBStorage_Impl::UCBStorage_Impl( const OUString& rName, StreamMode nMode, UCBSt
     {
         // create the special package URL for the package content
         OUString aTemp = "vnd.sun.star.pkg://";
-        aTemp += INetURLObject::encode( aName, INetURLObject::PART_AUTHORITY, '%', INetURLObject::ENCODE_ALL );
+        aTemp += INetURLObject::encode( aName, INetURLObject::PART_AUTHORITY, INetURLObject::ENCODE_ALL );
         m_aURL = aTemp;
 
         if ( m_nMode & StreamMode::WRITE )
@@ -1637,7 +1637,7 @@ UCBStorage_Impl::UCBStorage_Impl( SvStream& rStream, UCBStorage* pStorage, bool
     // accessed readonly
     // the root storage opens the package; create the special package URL for the package content
     OUString aTemp = "vnd.sun.star.pkg://";
-    aTemp += INetURLObject::encode( m_pTempFile->GetURL(), INetURLObject::PART_AUTHORITY, '%', INetURLObject::ENCODE_ALL );
+    aTemp += INetURLObject::encode( m_pTempFile->GetURL(), INetURLObject::PART_AUTHORITY, INetURLObject::ENCODE_ALL );
     m_aURL = aTemp;
 
     // copy data into the temporary file
diff --git a/svtools/source/control/inettbc.cxx b/svtools/source/control/inettbc.cxx
index a6ffa9c..3e7f135 100644
--- a/svtools/source/control/inettbc.cxx
+++ b/svtools/source/control/inettbc.cxx
@@ -490,7 +490,7 @@ OUString SvtURLBox::ParseSmart( const OUString& _aText, const OUString& _aBaseUR
 
             // file URL must be correctly encoded!
             OUString aTextURL = INetURLObject::encode( aText, INetURLObject::PART_FPATH,
-                                                     '%', INetURLObject::ENCODE_ALL );
+                                                     INetURLObject::ENCODE_ALL );
             aTemp += aTextURL;
 
             INetURLObject aTmp( aTemp );
@@ -526,7 +526,7 @@ OUString SvtURLBox::ParseSmart( const OUString& _aText, const OUString& _aBaseUR
 #ifdef UNX
             INetURLObject::FSysStyle eStyle = static_cast< INetURLObject::FSysStyle >( INetURLObject::FSYS_VOS | INetURLObject::FSYS_UNX | INetURLObject::FSYS_DOS );
             // encode file URL correctly
-            aSmart = INetURLObject::encode( aSmart, INetURLObject::PART_FPATH, '%', INetURLObject::ENCODE_ALL );
+            aSmart = INetURLObject::encode( aSmart, INetURLObject::PART_FPATH, INetURLObject::ENCODE_ALL );
             INetURLObject aTmp( aObj.smartRel2Abs(
                 aSmart, bWasAbsolute, false, INetURLObject::WAS_ENCODED, RTL_TEXTENCODING_UTF8, false, eStyle ) );
 #else
diff --git a/svx/source/form/fmpage.cxx b/svx/source/form/fmpage.cxx
index 7161dae..a7a6796 100644
--- a/svx/source/form/fmpage.cxx
+++ b/svx/source/form/fmpage.cxx
@@ -193,12 +193,12 @@ bool FmFormPage::RequestHelp( vcl::Window* pWindow, SdrView* pView,
             static const INetProtocol s_aQuickHelpSupported[] =
                 {   INetProtocol::Ftp, INetProtocol::Http, INetProtocol::File, INetProtocol::Mailto,
                     INetProtocol::Https, INetProtocol::Javascript,
-                    INetProtocol::Vim, INetProtocol::Ldap
+                    INetProtocol::Ldap
                 };
             for (sal_uInt16 i=0; i<sizeof(s_aQuickHelpSupported)/sizeof(s_aQuickHelpSupported[0]); ++i)
                 if (s_aQuickHelpSupported[i] == aProtocol)
                 {
-                    aHelpText = INetURLObject::decode(aUrl.GetURLNoPass(), '%', INetURLObject::DECODE_UNAMBIGUOUS);
+                    aHelpText = INetURLObject::decode(aUrl.GetURLNoPass(), INetURLObject::DECODE_UNAMBIGUOUS);
                     break;
                 }
         }
diff --git a/sw/source/core/doc/DocumentLinksAdministrationManager.cxx b/sw/source/core/doc/DocumentLinksAdministrationManager.cxx
index b542395..ccd7b3c 100644
--- a/sw/source/core/doc/DocumentLinksAdministrationManager.cxx
+++ b/sw/source/core/doc/DocumentLinksAdministrationManager.cxx
@@ -431,7 +431,7 @@ bool DocumentLinksAdministrationManager::SelectServerObj( const OUString& rStr,
     rpPam = 0;
     rpRange = 0;
 
-    OUString sItem( INetURLObject::decode( rStr, '%',
+    OUString sItem( INetURLObject::decode( rStr,
                                          INetURLObject::DECODE_WITH_CHARSET,
                                         RTL_TEXTENCODING_UTF8 ));
 
diff --git a/sw/source/core/text/EnhancedPDFExportHelper.cxx b/sw/source/core/text/EnhancedPDFExportHelper.cxx
index b16697d..7a08004 100644
--- a/sw/source/core/text/EnhancedPDFExportHelper.cxx
+++ b/sw/source/core/text/EnhancedPDFExportHelper.cxx
@@ -1647,7 +1647,6 @@ void SwEnhancedPDFExportHelper::EnhancedPDFExport()
                     // than one link to this destination:
                     OUString aURL( INetURLObject::decode(
                         p->rINetAttr.GetINetFmt().GetValue(),
-                        '%',
                         INetURLObject::DECODE_UNAMBIGUOUS,
                         RTL_TEXTENCODING_UTF8 ) );
 
diff --git a/sw/source/filter/html/htmlgrin.cxx b/sw/source/filter/html/htmlgrin.cxx
index acb0506..5e56daa 100644
--- a/sw/source/filter/html/htmlgrin.cxx
+++ b/sw/source/filter/html/htmlgrin.cxx
@@ -1162,7 +1162,7 @@ ANCHOR_SETEVENT:
     // wir hier ganz rigoros raus.
     if( !aName.isEmpty() )
     {
-        OUString sDecoded( INetURLObject::decode( aName, '%',
+        OUString sDecoded( INetURLObject::decode( aName,
                                            INetURLObject::DECODE_UNAMBIGUOUS,
                                         RTL_TEXTENCODING_UTF8 ));
         sal_Int32 nPos = sDecoded.lastIndexOf( cMarkSeparator );
diff --git a/sw/source/filter/ww8/wrtw8nds.cxx b/sw/source/filter/ww8/wrtw8nds.cxx
index f477ff4..340613a 100644
--- a/sw/source/filter/ww8/wrtw8nds.cxx
+++ b/sw/source/filter/ww8/wrtw8nds.cxx
@@ -1085,14 +1085,14 @@ bool WW8AttributeOutput::EndURL(bool const)
 OUString BookmarkToWord(const OUString &rBookmark)
 {
     OUString sRet(INetURLObject::encode(rBookmark,
-        INetURLObject::PART_REL_SEGMENT_EXTRA, '%',
+        INetURLObject::PART_REL_SEGMENT_EXTRA,
         INetURLObject::ENCODE_ALL, RTL_TEXTENCODING_ASCII_US));
     return TruncateBookmark(sRet);
 }
 
 OUString BookmarkToWriter(const OUString &rBookmark)
 {
-    return INetURLObject::decode(rBookmark, '%',
+    return INetURLObject::decode(rBookmark,
         INetURLObject::DECODE_UNAMBIGUOUS, RTL_TEXTENCODING_ASCII_US);
 }
 
diff --git a/sw/source/ui/chrdlg/chardlg.cxx b/sw/source/ui/chrdlg/chardlg.cxx
index f2f19af..7ef726f 100644
--- a/sw/source/ui/chrdlg/chardlg.cxx
+++ b/sw/source/ui/chrdlg/chardlg.cxx
@@ -195,7 +195,7 @@ void SwCharURLPage::Reset(const SfxItemSet* rSet)
     {
         const SwFmtINetFmt* pINetFmt = static_cast<const SwFmtINetFmt*>( pItem);
         m_pURLED->SetText(INetURLObject::decode(pINetFmt->GetValue(),
-            '%', INetURLObject::DECODE_UNAMBIGUOUS,
+            INetURLObject::DECODE_UNAMBIGUOUS,
             RTL_TEXTENCODING_UTF8));
         m_pURLED->SaveValue();
         m_pURLED->SetText(pINetFmt->GetName());
diff --git a/sw/source/ui/dialog/uiregionsw.cxx b/sw/source/ui/dialog/uiregionsw.cxx
index 8f4c712..faa738f 100644
--- a/sw/source/ui/dialog/uiregionsw.cxx
+++ b/sw/source/ui/dialog/uiregionsw.cxx
@@ -206,7 +206,7 @@ SectRepr::SectRepr( sal_uInt16 nPos, SwSection& rSect )
 
 void SectRepr::SetFile( const OUString& rFile )
 {
-    OUString sNewFile( INetURLObject::decode( rFile, '%',
+    OUString sNewFile( INetURLObject::decode( rFile,
                                            INetURLObject::DECODE_UNAMBIGUOUS,
                                         RTL_TEXTENCODING_UTF8 ));
     const OUString sOldFileName( m_SectionData.GetLinkFileName() );
@@ -293,7 +293,6 @@ OUString SectRepr::GetFile() const
                         .replaceFirst( OUString(sfx2::cTokenSeparator), " ", &n );
     }
     return INetURLObject::decode( sLinkFile.getToken( 0, sfx2::cTokenSeparator ),
-                                  '%',
                                   INetURLObject::DECODE_UNAMBIGUOUS,
                                   RTL_TEXTENCODING_UTF8 );
 }
@@ -1783,7 +1782,7 @@ IMPL_LINK( SwInsertSectionTabPage, DlgClosedHdl, sfx2::FileDialogHelper *, _pFil
             if ( SfxItemState::SET == pMedium->GetItemSet()->GetItemState( SID_PASSWORD, false, &pItem ) )
                 m_sFilePasswd = static_cast<const SfxStringItem*>(pItem)->GetValue();
             m_pFileNameED->SetText( INetURLObject::decode(
-                m_sFileName, '%', INetURLObject::DECODE_UNAMBIGUOUS, RTL_TEXTENCODING_UTF8 ) );
+                m_sFileName, INetURLObject::DECODE_UNAMBIGUOUS, RTL_TEXTENCODING_UTF8 ) );
             ::lcl_ReadSections(*pMedium, *m_pSubRegionED);
         }
     }
diff --git a/sw/source/ui/frmdlg/frmpage.cxx b/sw/source/ui/frmdlg/frmpage.cxx
index 94e4b02..9fade37 100644
--- a/sw/source/ui/frmdlg/frmpage.cxx
+++ b/sw/source/ui/frmdlg/frmpage.cxx
@@ -2540,7 +2540,6 @@ IMPL_LINK_NOARG(SwGrfExtPage, BrowseHdl)
     {   // remember selected filter
         aFilterName = pGrfDlg->GetCurrentFilter();
         aNewGrfName = INetURLObject::decode( pGrfDlg->GetPath(),
-                                        '%',
                                            INetURLObject::DECODE_UNAMBIGUOUS,
                                         RTL_TEXTENCODING_UTF8 );
         m_pConnectED->SetModifyFlag();
@@ -2726,7 +2725,6 @@ void SwFrmURLPage::Reset( const SfxItemSet *rSet )
     {
         const SwFmtURL* pFmtURL = static_cast<const SwFmtURL*>(pItem);
         pURLED->SetText( INetURLObject::decode( pFmtURL->GetURL(),
-                                        '%',
                                            INetURLObject::DECODE_UNAMBIGUOUS,
                                         RTL_TEXTENCODING_UTF8 ));
         pNameED->SetText( pFmtURL->GetName());
diff --git a/sw/source/ui/index/cnttab.cxx b/sw/source/ui/index/cnttab.cxx
index db7c1b3..08decd1 100644
--- a/sw/source/ui/index/cnttab.cxx
+++ b/sw/source/ui/index/cnttab.cxx
@@ -1200,7 +1200,6 @@ void SwTOXSelectTabPage::Reset( const SfxItemSet* )
     m_pTypeLB->SelectEntryPos(m_pTypeLB->GetEntryPos(reinterpret_cast<void*>(nData)));
 
     sAutoMarkURL = INetURLObject::decode( rSh.GetTOIAutoMarkURL(),
-                                        '%',
                                            INetURLObject::DECODE_UNAMBIGUOUS,
                                         RTL_TEXTENCODING_UTF8 );
     m_pFromFileCB->Check( !sAutoMarkURL.isEmpty() );
diff --git a/sw/source/uibase/dbui/dbmgr.cxx b/sw/source/uibase/dbui/dbmgr.cxx
index d34efb3..45230c1 100644
--- a/sw/source/uibase/dbui/dbmgr.cxx
+++ b/sw/source/uibase/dbui/dbmgr.cxx
@@ -2562,7 +2562,6 @@ OUString SwDBManager::LoadAndRegisterDataSource(const DBConnURITypes type, const
             Reference<XDatabaseContext> xDBContext = DatabaseContext::create(xContext);
 
             OUString sNewName = INetURLObject::decode( aURL.getName(),
-                                                     '%',
                                                      INetURLObject::DECODE_UNAMBIGUOUS,
                                                      RTL_TEXTENCODING_UTF8 );
             sal_Int32 nExtLen = aURL.GetExtension().getLength();
diff --git a/sw/source/uibase/shells/grfsh.cxx b/sw/source/uibase/shells/grfsh.cxx
index a85b1be..effa9f4 100644
--- a/sw/source/uibase/shells/grfsh.cxx
+++ b/sw/source/uibase/shells/grfsh.cxx
@@ -305,7 +305,6 @@ void SwGrfShell::Execute(SfxRequest &rReq)
             if( !sGrfNm.isEmpty() )
             {
                 aSet.Put( SvxBrushItem( INetURLObject::decode( sGrfNm,
-                                        '%',
                                            INetURLObject::DECODE_UNAMBIGUOUS,
                                         RTL_TEXTENCODING_UTF8 ),
                                         sFilterNm, GPOS_LT,
diff --git a/sw/source/uibase/uiview/view2.cxx b/sw/source/uibase/uiview/view2.cxx
index 0e59206..1953017 100644
--- a/sw/source/uibase/uiview/view2.cxx
+++ b/sw/source/uibase/uiview/view2.cxx
@@ -1902,7 +1902,7 @@ bool SwView::JumpToSwMark( const OUString& rMark )
 
         const SwFmtINetFmt* pINet;
         OUString sCmp;
-        OUString  sMark( INetURLObject::decode( rMark, '%',
+        OUString  sMark( INetURLObject::decode( rMark,
                                            INetURLObject::DECODE_WITH_CHARSET,
                                         RTL_TEXTENCODING_UTF8 ));
 
diff --git a/sw/source/uibase/utlui/content.cxx b/sw/source/uibase/utlui/content.cxx
index b2a8e34..d7ccd6a 100644
--- a/sw/source/uibase/utlui/content.cxx
+++ b/sw/source/uibase/utlui/content.cxx
@@ -364,7 +364,6 @@ void SwContentType::Init(bool* pbInvalidateWindow)
                                     p->sText,
                                     INetURLObject::decode(
                                         p->rINetAttr.GetINetFmt().GetValue(),
-                                        '%',
                                            INetURLObject::DECODE_UNAMBIGUOUS,
                                         RTL_TEXTENCODING_UTF8 ),
                                     &p->rINetAttr,
@@ -567,7 +566,7 @@ void    SwContentType::FillMemberList(bool* pbLevelOrVisibilityChanged)
                     OUString sLink;
                     pWrtShell->GetGrfNms( &sLink, 0, static_cast<const SwFlyFrmFmt*>( pFrmFmt));
                     pCnt = new SwGraphicContent(this, sFrmName,
-                                INetURLObject::decode( sLink, '%',
+                                INetURLObject::decode( sLink,
                                            INetURLObject::DECODE_UNAMBIGUOUS,
                                         RTL_TEXTENCODING_UTF8 ),
                                 pFrmFmt->FindLayoutRect(false, &aNullPt).Top());
@@ -669,7 +668,6 @@ void    SwContentType::FillMemberList(bool* pbLevelOrVisibilityChanged)
                                     p->sText,
                                     INetURLObject::decode(
                                         p->rINetAttr.GetINetFmt().GetValue(),
-                                        '%',
                                            INetURLObject::DECODE_UNAMBIGUOUS,
                                         RTL_TEXTENCODING_UTF8 ),
                                     &p->rINetAttr,
diff --git a/tools/source/fsys/urlobj.cxx b/tools/source/fsys/urlobj.cxx
index 68fea5c..f00b12b 100644
--- a/tools/source/fsys/urlobj.cxx
+++ b/tools/source/fsys/urlobj.cxx
@@ -167,11 +167,6 @@ using namespace css;
    vnd-sun-star-hier-url = "VND.SUN.STAR.HIER:" ["//"reg_name] *("/" *pchar)
    reg_name = 1*(escaped / alphanum / "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / "-" / "." / ":" / ";" / "=" / "@" / "_" / "~")
 
-   ; private
-   vim-url = "VIM://" +vimc [":" *vimc] ["/" [("INBOX" message) / ("NEWSGROUPS" ["/" [+vimc message]])]]
-   message = ["/" [+vimc [":" +DIGIT "." +DIGIT "." +DIGIT]]]
-   vimc = ("=" HEXDIG HEXDIG) / alphanum
-
 
    ; private
    uno-url = ".UNO:" path ["?" *uric]
@@ -375,9 +370,6 @@ INetURLObject::getSchemeInfo(INetProtocol eTheScheme)
             "vnd.sun.star.hier", "vnd.sun.star.hier:", 0, true, false, false,
             false, false, false, true, false},
         SchemeInfo{
-            "vim", "vim://", 0, true, true, false, true, false, false, true,
-            false},
-        SchemeInfo{
             ".uno", ".uno:", 0, false, false, false, false, false, false, false,
             true},
         SchemeInfo{
@@ -428,10 +420,9 @@ inline INetURLObject::SchemeInfo const & INetURLObject::getSchemeInfo() const
 
 // static
 inline void INetURLObject::appendEscape(OUStringBuffer & rTheText,
-                                        sal_Char cEscapePrefix,
                                         sal_uInt32 nOctet)
 {
-    rTheText.append( cEscapePrefix );
+    rTheText.append( '%' );
     rTheText.append( (sal_Unicode)INetMIME::getHexDigit(int(nOctet >> 4)) );
     rTheText.append( (sal_Unicode)INetMIME::getHexDigit(int(nOctet & 15)) );
 }
@@ -441,7 +432,6 @@ namespace unnamed_tools_urlobj {
 enum
 {
     PA = INetURLObject::PART_USER_PASSWORD,
-    PC = INetURLObject::PART_VIM,
     PD = INetURLObject::PART_FPATH,
     PE = INetURLObject::PART_AUTHORITY,
     PF = INetURLObject::PART_REL_SEGMENT_EXTRA,
@@ -463,100 +453,100 @@ static sal_uInt32 const aMustEncodeMap[128]
     = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 /*   */                                              PP,
-/* ! */ PA      +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* " */                                     PM+PN   +PP,
-/* # */                                     PM,
-/* $ */ PA      +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* % */                                     PM,
-/* & */ PA      +PD+PE+PF+PG+PH+PI   +PK+PL+PM+PN+PO   +PQ+PR,
-/* ' */ PA      +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* ( */ PA      +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* ) */ PA      +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* * */ PA      +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* + */ PA      +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO   +PQ+PR,
-/* , */ PA      +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN      +PQ+PR,
-/* - */ PA      +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* . */ PA      +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* / */         +PD      +PG+PH+PI+PJ+PK   +PM+PN+PO,
-/* 0 */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* 1 */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* 2 */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* 3 */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* 4 */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* 5 */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* 6 */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* 7 */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* 8 */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* 9 */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* : */         +PD+PE   +PG+PH+PI+PJ+PK+PL+PM+PN+PO   +PQ+PR,
-/* ; */ PA         +PE+PF+PG+PH+PI+PJ+PK   +PM         +PQ+PR,
-/* < */                        +PI         +PM+PN   +PP,
-/* = */ PA      +PD+PE+PF+PG+PH      +PK+PL+PM+PN      +PQ+PR,
-/* > */                        +PI         +PM+PN   +PP,
-/* ? */                  +PG               +PM   +PO   +PQ,
-/* @ */         +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* A */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* B */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* C */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* D */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* E */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* F */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* G */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* H */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* I */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* J */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* K */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* L */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* M */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* N */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* O */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* P */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* Q */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* R */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* S */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* T */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* U */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* V */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* W */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* X */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* Y */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* Z */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* [ */                   PG               +PM+PN+PO,
-/* \ */                                    +PM+PN   +PP,
-/* ] */                   PG               +PM+PN+PO,
-/* ^ */                                     PM+PN   +PP,
-/* _ */ PA      +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* ` */                                     PM+PN   +PP,
-/* a */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* b */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* c */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* d */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* e */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* f */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* g */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* h */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* i */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* j */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* k */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* l */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* m */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* n */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* o */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* p */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* q */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* r */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* s */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* t */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* u */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* v */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* w */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* x */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* y */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* z */ PA   +PC+PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
-/* { */                                     PM+PN   +PP,
-/* | */                                    +PM+PN   +PP,
-/* } */                                     PM+PN   +PP,
-/* ~ */ PA      +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ,
+/* ! */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* " */                                  PM+PN   +PP,
+/* # */                                  PM,
+/* $ */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* % */                                  PM,
+/* & */ PA   +PD+PE+PF+PG+PH+PI   +PK+PL+PM+PN+PO   +PQ+PR,
+/* ' */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* ( */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* ) */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* * */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* + */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO   +PQ+PR,
+/* , */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN      +PQ+PR,
+/* - */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* . */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* / */      +PD      +PG+PH+PI+PJ+PK   +PM+PN+PO,
+/* 0 */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* 1 */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* 2 */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* 3 */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* 4 */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* 5 */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* 6 */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* 7 */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* 8 */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* 9 */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* : */      +PD+PE   +PG+PH+PI+PJ+PK+PL+PM+PN+PO   +PQ+PR,
+/* ; */ PA      +PE+PF+PG+PH+PI+PJ+PK   +PM         +PQ+PR,
+/* < */                     +PI         +PM+PN   +PP,
+/* = */ PA   +PD+PE+PF+PG+PH      +PK+PL+PM+PN      +PQ+PR,
+/* > */                     +PI         +PM+PN   +PP,
+/* ? */               +PG               +PM   +PO   +PQ,
+/* @ */      +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* A */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* B */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* C */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* D */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* E */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* F */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* G */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* H */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* I */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* J */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* K */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* L */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* M */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* N */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* O */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* P */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* Q */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* R */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* S */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* T */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* U */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* V */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* W */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* X */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* Y */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* Z */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* [ */                PG               +PM+PN+PO,
+/* \ */                                 +PM+PN   +PP,
+/* ] */                PG               +PM+PN+PO,
+/* ^ */                                  PM+PN   +PP,
+/* _ */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* ` */                                  PM+PN   +PP,
+/* a */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* b */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* c */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* d */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* e */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* f */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* g */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* h */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* i */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* j */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* k */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* l */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* m */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* n */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* o */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* p */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* q */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* r */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* s */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* t */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* u */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* v */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* w */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* x */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* y */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* z */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ+PR,
+/* { */                                  PM+PN   +PP,
+/* | */                                 +PM+PN   +PP,
+/* } */                                  PM+PN   +PP,
+/* ~ */ PA   +PD+PE+PF+PG+PH+PI+PJ+PK+PL+PM+PN+PO+PP+PQ,
         0 };
 
 inline bool mustEncode(sal_uInt32 nUTF32, INetURLObject::Part ePart)
@@ -867,7 +857,6 @@ bool INetURLObject::setAbsURIRef(OUString const & rTheAbsURIRef,
         aSynAbsURIRef.append(':');
     }
 
-    sal_Char cEscapePrefix = getEscapePrefix();
     sal_uInt32 nSegmentDelimiter = '/';
     sal_uInt32 nAltSegmentDelimiter = 0x80000000;
     bool bSkippedInitialSlash = false;
@@ -899,11 +888,10 @@ bool INetURLObject::setAbsURIRef(OUString const & rTheAbsURIRef,
                 {
                     EscapeType eEscapeType;
                     sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
-                                                 cEscapePrefix, eMechanism,
+                                                 eMechanism,
                                                  eCharset, eEscapeType);
                     appendUCS4(aSynAuthority, nUTF32, eEscapeType, bOctets,
-                               PART_AUTHORITY, cEscapePrefix, eCharset,
-                               false);
+                               PART_AUTHORITY, eCharset, false);
                 }
                 m_aHost.set(aSynAbsURIRef,
                             aSynAuthority.makeStringAndClear(),
@@ -927,7 +915,6 @@ bool INetURLObject::setAbsURIRef(OUString const & rTheAbsURIRef,
                         sal_uInt32 nUTF32 = getUTF32(pPos,
                                                      pEnd,
                                                      bOctets,
-                                                     cEscapePrefix,
                                                      eMechanism,
                                                      eCharset,
                                                      eEscapeType);
@@ -936,7 +923,6 @@ bool INetURLObject::setAbsURIRef(OUString const & rTheAbsURIRef,
                                    eEscapeType,
                                    bOctets,
                                    PART_AUTHORITY,
-                                   cEscapePrefix,
                                    eCharset,
                                    false);
                     }
@@ -971,11 +957,10 @@ bool INetURLObject::setAbsURIRef(OUString const & rTheAbsURIRef,
                 {
                     EscapeType eEscapeType;
                     sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
-                                                 cEscapePrefix, eMechanism,
+                                                 eMechanism,
                                                  eCharset, eEscapeType);
                     appendUCS4(aSynUser, nUTF32, eEscapeType, bOctets,
-                               PART_USER_PASSWORD, cEscapePrefix, eCharset,
-                               false);
+                               PART_USER_PASSWORD, eCharset, false);
 
                     bHasUser = *pPos == '@';
                 }
@@ -999,11 +984,10 @@ bool INetURLObject::setAbsURIRef(OUString const & rTheAbsURIRef,
                     {
                         EscapeType eEscapeType;
                         sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
-                                                     cEscapePrefix, eMechanism,
+                                                     eMechanism,
                                                      eCharset, eEscapeType);
                         appendUCS4(aSynAuthority, nUTF32, eEscapeType, bOctets,
-                                   PART_AUTHORITY, cEscapePrefix, eCharset,
-                                   false);
+                                   PART_AUTHORITY, eCharset, false);
                     }
                 }
                 if (aSynAuthority.isEmpty())
@@ -1260,9 +1244,7 @@ bool INetURLObject::setAbsURIRef(OUString const & rTheAbsURIRef,
 
         if (pUserInfoBegin)
         {
-            Part ePart = m_eScheme == INetProtocol::Vim ?
-                             PART_VIM :
-                             PART_USER_PASSWORD;
+            Part ePart = PART_USER_PASSWORD;
             bool bSupportsPassword = getSchemeInfo().m_bPassword;
             bool bSupportsAuth
                 = !bSupportsPassword && getSchemeInfo().m_bAuth;
@@ -1273,8 +1255,7 @@ bool INetURLObject::setAbsURIRef(OUString const & rTheAbsURIRef,
             {
                 EscapeType eEscapeType;
                 sal_uInt32 nUTF32 = getUTF32(p1, pUserInfoEnd, bOctets,
-                                             cEscapePrefix, eMechanism,
-                                             eCharset, eEscapeType);
+                                             eMechanism, eCharset, eEscapeType);
                 if (eEscapeType == ESCAPE_NO)
                 {
                     if (nUTF32 == ':' && bSupportsPassword)
@@ -1296,7 +1277,7 @@ bool INetURLObject::setAbsURIRef(OUString const & rTheAbsURIRef,
                     }
                 }
                 appendUCS4(aSynUser, nUTF32, eEscapeType, bOctets, ePart,
-                           cEscapePrefix, eCharset, false);
+                           eCharset, false);
             }
             m_aUser.set(aSynAbsURIRef, aSynUser.makeStringAndClear(),
                 aSynAbsURIRef.getLength());
@@ -1310,11 +1291,10 @@ bool INetURLObject::setAbsURIRef(OUString const & rTheAbsURIRef,
                     {
                         EscapeType eEscapeType;
                         sal_uInt32 nUTF32 = getUTF32(p1, pUserInfoEnd, bOctets,
-                                                     cEscapePrefix,
                                                      eMechanism, eCharset,
                                                      eEscapeType);
                         appendUCS4(aSynAuth, nUTF32, eEscapeType, bOctets,
-                                   ePart, cEscapePrefix, eCharset, false);
+                                   ePart, eCharset, false);
                     }
                     m_aAuth.set(aSynAbsURIRef, aSynAuth.makeStringAndClear(),
                         aSynAbsURIRef.getLength());
@@ -1327,7 +1307,6 @@ bool INetURLObject::setAbsURIRef(OUString const & rTheAbsURIRef,
                     {
                         EscapeType eEscapeType;
                         sal_uInt32 nUTF32 = getUTF32(p1, pUserInfoEnd, bOctets,
-                                                     cEscapePrefix,
                                                      eMechanism, eCharset,
                                                      eEscapeType);
                         if (!INetMIME::isIMAPAtomChar(nUTF32))
@@ -1336,7 +1315,7 @@ bool INetURLObject::setAbsURIRef(OUString const & rTheAbsURIRef,
                             return false;
                         }
                         appendUCS4(aSynAuth, nUTF32, eEscapeType, bOctets,
-                                   ePart, cEscapePrefix, eCharset, false);
+                                   ePart, eCharset, false);
                     }
                     m_aAuth.set(aSynAbsURIRef, aSynAuth.makeStringAndClear(),
                         aSynAbsURIRef.getLength());
@@ -1427,10 +1406,10 @@ bool INetURLObject::setAbsURIRef(OUString const & rTheAbsURIRef,
         for (++pPos; pPos < pEnd && *pPos != nFragmentDelimiter;)
         {
             EscapeType eEscapeType;
-            sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets, cEscapePrefix,
+            sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
                                          eMechanism, eCharset, eEscapeType);
             appendUCS4(aSynQuery, nUTF32, eEscapeType, bOctets,
-                       PART_URIC, cEscapePrefix, eCharset, true);
+                       PART_URIC, eCharset, true);
         }
         m_aQuery.set(aSynAbsURIRef, aSynQuery.makeStringAndClear(),
             aSynAbsURIRef.getLength());
@@ -1444,10 +1423,10 @@ bool INetURLObject::setAbsURIRef(OUString const & rTheAbsURIRef,
         for (++pPos; pPos < pEnd;)
         {
             EscapeType eEscapeType;
-            sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets, cEscapePrefix,
+            sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
                                          eMechanism, eCharset, eEscapeType);
             appendUCS4(aSynFragment, nUTF32, eEscapeType, bOctets, PART_URIC,
-                       cEscapePrefix, eCharset, true);
+                       eCharset, true);
         }
         m_aFragment.set(aSynAbsURIRef, aSynFragment.makeStringAndClear(),
             aSynAbsURIRef.getLength());
@@ -1666,8 +1645,6 @@ bool INetURLObject::convertRelToAbs(OUString const & rTheRelURIRef,
     }
     aSynAbsURIRef.append(':');
 
-    sal_Char cEscapePrefix = getEscapePrefix();
-
     State eState = STATE_AUTH;
     bool bSameDoc = true;
 
@@ -1683,7 +1660,7 @@ bool INetURLObject::convertRelToAbs(OUString const & rTheRelURIRef,
             {
                 EscapeType eEscapeType;
                 sal_uInt32 nUTF32
-                    = getUTF32(p, pEnd, bOctets, cEscapePrefix, eMechanism,
+                    = getUTF32(p, pEnd, bOctets, eMechanism,
                                eCharset, eEscapeType);
                 if (eEscapeType == ESCAPE_NO)
                 {
@@ -1696,7 +1673,7 @@ bool INetURLObject::convertRelToAbs(OUString const & rTheRelURIRef,
                     }
                 }
                 appendUCS4(aSynAbsURIRef, nUTF32, eEscapeType, bOctets,
-                           PART_VISIBLE, cEscapePrefix, eCharset, true);
+                           PART_VISIBLE, eCharset, true);
             }
         }
         else
@@ -1738,8 +1715,7 @@ bool INetURLObject::convertRelToAbs(OUString const & rTheRelURIRef,
         {
             EscapeType eEscapeType;
             sal_uInt32 nUTF32
-                = getUTF32(p, pEnd, bOctets, cEscapePrefix, eMechanism,
-                           eCharset, eEscapeType);
+                = getUTF32(p, pEnd, bOctets, eMechanism, eCharset, eEscapeType);
             if (eEscapeType == ESCAPE_NO)
             {
                 if (nUTF32 == nFragmentDelimiter)
@@ -1751,7 +1727,7 @@ bool INetURLObject::convertRelToAbs(OUString const & rTheRelURIRef,
                     nUTF32 = '/';
             }
             appendUCS4(aSynAbsURIRef, nUTF32, eEscapeType, bOctets, ePart,
-                       cEscapePrefix, eCharset, true);
+                       eCharset, true);
         }
     }
     else if (eState == STATE_REL_PATH)
@@ -1832,10 +1808,10 @@ bool INetURLObject::convertRelToAbs(OUString const & rTheRelURIRef,
             {
                 EscapeType eEscapeType;
                 sal_uInt32 nUTF32
-                    = getUTF32(p, pEnd, bOctets, cEscapePrefix, eMechanism,
+                    = getUTF32(p, pEnd, bOctets, eMechanism,
                                eCharset, eEscapeType);
                 appendUCS4(aSynAbsURIRef, nUTF32, eEscapeType, bOctets, ePart,
-                           cEscapePrefix, eCharset, true);
+                           eCharset, true);
             }
             if (p != pEnd && *p == nSegmentDelimiter)
             {
@@ -1848,10 +1824,9 @@ bool INetURLObject::convertRelToAbs(OUString const & rTheRelURIRef,
         {
             EscapeType eEscapeType;
             sal_uInt32 nUTF32
-                = getUTF32(p, pEnd, bOctets, cEscapePrefix, eMechanism,
-                           eCharset, eEscapeType);
+                = getUTF32(p, pEnd, bOctets, eMechanism, eCharset, eEscapeType);
             appendUCS4(aSynAbsURIRef, nUTF32, eEscapeType, bOctets, ePart,
-                       cEscapePrefix, eCharset, true);
+                       eCharset, true);
         }
 
         if (p == pEnd)
@@ -1879,10 +1854,9 @@ bool INetURLObject::convertRelToAbs(OUString const & rTheRelURIRef,
         {
             EscapeType eEscapeType;
             sal_uInt32 nUTF32
-                = getUTF32(p, pEnd, bOctets, cEscapePrefix, eMechanism,
-                           eCharset, eEscapeType);
+                = getUTF32(p, pEnd, bOctets, eMechanism, eCharset, eEscapeType);
             appendUCS4(aSynAbsURIRef, nUTF32, eEscapeType, bOctets,
-                       PART_VISIBLE, cEscapePrefix, eCharset, true);
+                       PART_VISIBLE, eCharset, true);
         }
     }
 
@@ -1915,10 +1889,7 @@ bool INetURLObject::convertAbsToRel(OUString const & rTheAbsURIRef,
     // Check for hierarchical base URL:
     if (!getSchemeInfo().m_bHierarchical)
     {
-        rTheRelURIRef
-            = decode(rTheAbsURIRef,
-                     getEscapePrefix(CompareProtocolScheme(rTheAbsURIRef)),
-                     eDecodeMechanism, eCharset);
+        rTheRelURIRef = decode(rTheAbsURIRef, eDecodeMechanism, eCharset);
         return false;
     }
 
@@ -1930,10 +1901,7 @@ bool INetURLObject::convertAbsToRel(OUString const & rTheAbsURIRef,
                          eEncodeMechanism, eCharset, false, false, false,
                          eStyle))
     {
-        rTheRelURIRef
-            = decode(rTheAbsURIRef,
-                     getEscapePrefix(CompareProtocolScheme(rTheAbsURIRef)),
-                     eDecodeMechanism, eCharset);
+        rTheRelURIRef = decode(rTheAbsURIRef, eDecodeMechanism, eCharset);
         return false;
     }
 
@@ -2048,23 +2016,22 @@ bool INetURLObject::convertAbsToRel(OUString const & rTheAbsURIRef,
 
     // The remainder of the subject path, starting at nMatch, is appended to
     // the new relative URL:
-    sal_Char cEscapePrefix = getEscapePrefix();
     aSynRelURIRef.append(decode(pSubjectPathBegin + nMatch, pSubjectPathEnd,
-                            cEscapePrefix, eDecodeMechanism, eCharset));
+                            eDecodeMechanism, eCharset));
 
     // If the subject has defined query or fragment parts, they are appended
     // to the new relative URL:
     if (aSubject.m_aQuery.isPresent())
     {
         aSynRelURIRef.append('?');
-        aSynRelURIRef.append(aSubject.decode(aSubject.m_aQuery, cEscapePrefix,
+        aSynRelURIRef.append(aSubject.decode(aSubject.m_aQuery,
                                          eDecodeMechanism, eCharset));
     }
     if (aSubject.m_aFragment.isPresent())
     {
         aSynRelURIRef.append('#');
         aSynRelURIRef.append(aSubject.decode(aSubject.m_aFragment,
-            cEscapePrefix, eDecodeMechanism, eCharset));
+            eDecodeMechanism, eCharset));
     }
 
     rTheRelURIRef = aSynRelURIRef.makeStringAndClear();
@@ -2077,11 +2044,8 @@ bool INetURLObject::convertIntToExt(OUString const & rTheIntURIRef,
                                     DecodeMechanism eDecodeMechanism,
                                     rtl_TextEncoding eCharset)
 {
-    sal_Char cEscapePrefix
-        = getEscapePrefix(CompareProtocolScheme(rTheIntURIRef));
     OUString aSynExtURIRef(encodeText(rTheIntURIRef, bOctets, PART_VISIBLE,
-                                       cEscapePrefix, NOT_CANONIC, eCharset,
-                                       true));
+                                       NOT_CANONIC, eCharset, true));
     sal_Unicode const * pBegin = aSynExtURIRef.getStr();
     sal_Unicode const * pEnd = pBegin + aSynExtURIRef.getLength();
     sal_Unicode const * p = pBegin;
@@ -2093,8 +2057,7 @@ bool INetURLObject::convertIntToExt(OUString const & rTheIntURIRef,
             aSynExtURIRef.replaceAt(0, p - pBegin,
                 OUString::createFromAscii(pPrefix->m_pTranslatedPrefix));
     }
-    rTheExtURIRef = decode(aSynExtURIRef, cEscapePrefix, eDecodeMechanism,
-                           eCharset);
+    rTheExtURIRef = decode(aSynExtURIRef, eDecodeMechanism, eCharset);
     return bConvert;
 }
 
@@ -2104,11 +2067,8 @@ bool INetURLObject::convertExtToInt(OUString const & rTheExtURIRef,
                                     DecodeMechanism eDecodeMechanism,
                                     rtl_TextEncoding eCharset)
 {
-    sal_Char cEscapePrefix
-        = getEscapePrefix(CompareProtocolScheme(rTheExtURIRef));
     OUString aSynIntURIRef(encodeText(rTheExtURIRef, bOctets, PART_VISIBLE,
-                                       cEscapePrefix, NOT_CANONIC, eCharset,
-                                       true));
+                                       NOT_CANONIC, eCharset, true));
     sal_Unicode const * pBegin = aSynIntURIRef.getStr();
     sal_Unicode const * pEnd = pBegin + aSynIntURIRef.getLength();
     sal_Unicode const * p = pBegin;
@@ -2120,8 +2080,7 @@ bool INetURLObject::convertExtToInt(OUString const & rTheExtURIRef,
             aSynIntURIRef.replaceAt(0, p - pBegin,
                 OUString::createFromAscii(pPrefix->m_pTranslatedPrefix));
     }
-    rTheIntURIRef = decode(aSynIntURIRef, cEscapePrefix, eDecodeMechanism,
-                           eCharset);
+    rTheIntURIRef = decode(aSynIntURIRef, eDecodeMechanism, eCharset);
     return bConvert;
 }
 
@@ -2193,13 +2152,9 @@ INetURLObject::PrefixInfo const * INetURLObject::getPrefix(sal_Unicode const *&
               INetProtocol::PrivSoffice, PrefixInfo::EXTERNAL },
             { "staroffice.uno:", ".uno:", INetProtocol::Uno,
               PrefixInfo::EXTERNAL },
-            { "staroffice.vim:", "vim:", INetProtocol::Vim,
-              PrefixInfo::EXTERNAL },
             { "staroffice:", "private:", INetProtocol::PrivSoffice,
               PrefixInfo::EXTERNAL },
             { "telnet:", 0, INetProtocol::Telnet, PrefixInfo::OFFICIAL },
-            { "vim:", "staroffice.vim:", INetProtocol::Vim,
-              PrefixInfo::INTERNAL },
             { "vnd.libreoffice.cmis:", 0, INetProtocol::Cmis, PrefixInfo::INTERNAL },
             { "vnd.sun.star.cmd:", 0, INetProtocol::VndSunStarCmd,
               PrefixInfo::OFFICIAL },
@@ -2296,12 +2251,8 @@ bool INetURLObject::setUser(OUString const & rTheUser,
         return false;
     }
 
-    OUString aNewUser(encodeText(rTheUser, bOctets,
-                                  m_eScheme == INetProtocol::Vim ?
-                                      PART_VIM :
-                                      PART_USER_PASSWORD,
-                                  getEscapePrefix(), eMechanism, eCharset,
-                                  false));
+    OUString aNewUser(encodeText(rTheUser, bOctets, PART_USER_PASSWORD,
+                                  eMechanism, eCharset, false));
     sal_Int32 nDelta;
     if (m_aUser.isPresent())
         nDelta = m_aUser.set(m_aAbsURIRef, aNewUser);
@@ -2356,11 +2307,8 @@ bool INetURLObject::setPassword(OUString const & rThePassword,
 {
     if (!getSchemeInfo().m_bPassword)
         return false;
-    OUString aNewAuth(encodeText(rThePassword, bOctets,
-                                  m_eScheme == INetProtocol::Vim ?
-                                      PART_VIM : PART_USER_PASSWORD,
-                                  getEscapePrefix(), eMechanism, eCharset,
-                                  false));
+    OUString aNewAuth(encodeText(rThePassword, bOctets, PART_USER_PASSWORD,
+                                  eMechanism, eCharset, false));
     sal_Int32 nDelta;
     if (m_aAuth.isPresent())
         nDelta = m_aAuth.set(m_aAbsURIRef, aNewAuth);
@@ -2847,7 +2795,7 @@ bool INetURLObject::parseHostOrNetBiosName(
                 while (pBegin < pEnd)
                 {
                     EscapeType eEscapeType;
-                    sal_uInt32 nUTF32 = getUTF32(pBegin, pEnd, bOctets, '%',
+                    sal_uInt32 nUTF32 = getUTF32(pBegin, pEnd, bOctets,
                                                  eMechanism, eCharset,
                                                  eEscapeType);
                     if (!INetMIME::isVisible(nUTF32))
@@ -2875,7 +2823,7 @@ bool INetURLObject::parseHostOrNetBiosName(
                         }
                     if (pCanonic != NULL) {
                         appendUCS4(
-                            buf, nUTF32, eEscapeType, bOctets, PART_URIC, '%',
+                            buf, nUTF32, eEscapeType, bOctets, PART_URIC,
                             eCharset, true);
                     }
                 }
@@ -2963,11 +2911,10 @@ bool INetURLObject::parsePath(INetProtocol eScheme,
             while (pPos < pEnd && *pPos != nFragmentDelimiter)
             {
                 EscapeType eEscapeType;
-                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
-                                             '%', eMechanism,
+                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets, eMechanism,
                                              eCharset, eEscapeType);
                 appendUCS4(aTheSynPath, nUTF32, eEscapeType, bOctets,
-                           PART_HTTP_PATH, '%', eCharset, true);
+                           PART_HTTP_PATH, eCharset, true);
             }
             if (aTheSynPath.isEmpty())
                 aTheSynPath.append('/');
@@ -2984,11 +2931,10 @@ bool INetURLObject::parsePath(INetProtocol eScheme,
                    && *pPos != nFragmentDelimiter)
             {
                 EscapeType eEscapeType;
-                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
-                                             '%', eMechanism,
+                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets, eMechanism,
                                              eCharset, eEscapeType);
                 appendUCS4(aTheSynPath, nUTF32, eEscapeType, bOctets,
-                           PART_HTTP_PATH, '%', eCharset, true);
+                           PART_HTTP_PATH, eCharset, true);
             }
             if (aTheSynPath.isEmpty())
                 aTheSynPath.append('/');
@@ -3005,8 +2951,7 @@ bool INetURLObject::parsePath(INetProtocol eScheme,
             while (pPos < pEnd && *pPos != nFragmentDelimiter)
             {
                 EscapeType eEscapeType;
-                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
-                                             '%', eMechanism,
+                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets, eMechanism,
                                              eCharset, eEscapeType);
                 if (eEscapeType == ESCAPE_NO)
                 {
@@ -3031,7 +2976,7 @@ bool INetURLObject::parsePath(INetProtocol eScheme,
                     }
                 }
                 appendUCS4(aTheSynPath, nUTF32, eEscapeType, bOctets,
-                           PART_PCHAR, '%', eCharset, true);
+                           PART_PCHAR, eCharset, true);
             }
             if (aTheSynPath.isEmpty())
                 aTheSynPath.append('/');
@@ -3043,11 +2988,10 @@ bool INetURLObject::parsePath(INetProtocol eScheme,
                    && *pPos != nFragmentDelimiter)
             {
                 EscapeType eEscapeType;
-                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
-                                             '%', eMechanism,
+                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets, eMechanism,
                                              eCharset, eEscapeType);
                 appendUCS4(aTheSynPath, nUTF32, eEscapeType, bOctets,
-                           PART_MAILTO, '%', eCharset, true);
+                           PART_MAILTO, eCharset, true);
             }
             break;
 
@@ -3063,12 +3007,10 @@ bool INetURLObject::parsePath(INetProtocol eScheme,
                    && *pPos != nFragmentDelimiter)
             {
                 EscapeType eEscapeType;
-                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
-                                             '%', eMechanism,
+                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets, eMechanism,
                                              eCharset, eEscapeType);
                 appendUCS4(aTheSynPath, nUTF32, eEscapeType, bOctets,
-                           PART_PATH_BEFORE_QUERY, '%', eCharset,
-                           true);
+                           PART_PATH_BEFORE_QUERY, eCharset, true);
             }
             break;
 
@@ -3086,10 +3028,10 @@ bool INetURLObject::parsePath(INetProtocol eScheme,
                 {
                     EscapeType eEscapeType;
                     sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
-                                                 '%', eMechanism,
+                                                 eMechanism,
                                                  eCharset, eEscapeType);
                     appendUCS4(aTheSynPath, nUTF32, eEscapeType, bOctets,
-                               PART_HTTP_PATH, '%', eCharset, true);
+                               PART_HTTP_PATH, eCharset, true);
                 }
             }
             break;
@@ -3101,11 +3043,10 @@ bool INetURLObject::parsePath(INetProtocol eScheme,
             while (pPos < pEnd && *pPos != nFragmentDelimiter)
             {
                 EscapeType eEscapeType;
-                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
-                                             '%', eMechanism,
+                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets, eMechanism,
                                              eCharset, eEscapeType);
                 appendUCS4(aTheSynPath, nUTF32, eEscapeType, bOctets,
-                           PART_URIC, '%', eCharset, true);
+                           PART_URIC, eCharset, true);
             }
             break;
 
@@ -3116,11 +3057,10 @@ bool INetURLObject::parsePath(INetProtocol eScheme,
             while (pPos < pEnd && *pPos != nFragmentDelimiter)
             {
                 EscapeType eEscapeType;
-                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
-                                             '%', eMechanism,
+                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets, eMechanism,
                                              eCharset, eEscapeType);
                 appendUCS4(aTheSynPath, nUTF32, eEscapeType, bOctets,
-                           PART_URIC, '%', eCharset, true);
+                           PART_URIC, eCharset, true);
             }
             break;
 
@@ -3133,123 +3073,18 @@ bool INetURLObject::parsePath(INetProtocol eScheme,
                    && *pPos != nFragmentDelimiter)
             {
                 EscapeType eEscapeType;
-                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
-                                             '%', eMechanism,
+                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets, eMechanism,
                                              eCharset, eEscapeType);
                 if (eEscapeType == ESCAPE_NO && nUTF32 == '/')
                     aTheSynPath.append('/');
                 else
                     appendUCS4(aTheSynPath, nUTF32, eEscapeType, bOctets,
-                               PART_PCHAR, '%', eCharset, false);
+                               PART_PCHAR, eCharset, false);
             }
             if (aTheSynPath.isEmpty())
                 aTheSynPath.append('/');
             break;
 
-        case INetProtocol::Vim:
-        {
-            sal_Unicode const * pPathEnd = pPos;
-            while (pPathEnd < pEnd && *pPathEnd != nFragmentDelimiter)
-                ++pPathEnd;
-            aTheSynPath.append('/');
-            if (pPos == pPathEnd)
-                break;
-            else if (*pPos++ != '/')
-                return false;
-            if (pPos == pPathEnd)
-                break;
-            while (pPos < pPathEnd && *pPos != '/')
-            {
-                EscapeType eEscapeType;
-                sal_uInt32 nUTF32 = getUTF32(pPos, pPathEnd, bOctets,
-                                             '=', eMechanism,
-                                             eCharset, eEscapeType);
-                appendUCS4(aTheSynPath,
-                           eEscapeType == ESCAPE_NO ?
-                               rtl::toAsciiLowerCase(nUTF32) : nUTF32,
-                           eEscapeType, bOctets, PART_VIM, '=',
-                           eCharset, false);
-            }
-            bool bInbox;
-            OUString sCompare(aTheSynPath.toString());
-            if ( sCompare == "/inbox" )
-                bInbox = true;
-            else if ( sCompare == "/newsgroups" )
-                bInbox = false;
-            else
-                return false;
-            aTheSynPath.append('/');
-            if (pPos == pPathEnd)
-                break;
-            else if (*pPos++ != '/')
-                return false;
-            if (!bInbox)
-            {
-                bool bEmpty = true;
-                while (pPos < pPathEnd && *pPos != '/')
-                {
-                    EscapeType eEscapeType;
-                    sal_uInt32 nUTF32 = getUTF32(pPos, pPathEnd, bOctets,
-                                                 '=', eMechanism,
-                                                 eCharset, eEscapeType);
-                    appendUCS4(aTheSynPath, nUTF32, eEscapeType, bOctets,
-                               PART_VIM, '=', eCharset, false);
-                    bEmpty = false;
-                }
-                if (bEmpty)
-                    return false;
-                aTheSynPath.append('/');
-                if (pPos == pPathEnd)
-                    break;
-                else if (*pPos++ != '/')
-                    return false;
-            }
-            bool bEmpty = true;
-            while (pPos < pPathEnd && *pPos != ':')
-            {
-                EscapeType eEscapeType;
-                sal_uInt32 nUTF32 = getUTF32(pPos, pPathEnd, bOctets,
-                                             '=', eMechanism,
-                                             eCharset, eEscapeType);
-                appendUCS4(aTheSynPath, nUTF32, eEscapeType, bOctets,
-                           PART_VIM, '=', eCharset, false);
-                bEmpty = false;
-            }
-            if (bEmpty)
-                return false;
-            if (pPos == pPathEnd)
-                break;
-            else if (*pPos++ != ':')
-                return false;
-            aTheSynPath.append(':');
-            for (int i = 0; i < 3; ++i)
-            {
-                if (i != 0)
-                {
-                    if (pPos == pPathEnd || *pPos++ != '.')
-                        return false;
-                    aTheSynPath.append('.');
-                }
-                bEmpty = true;
-                while (pPos < pPathEnd && *pPos != '.')
-                {
-                    EscapeType eEscapeType;
-                    sal_uInt32 nUTF32 = getUTF32(pPos, pPathEnd, bOctets,
-                                                 '=', eMechanism,
-                                                 eCharset, eEscapeType);
-                    if (!rtl::isAsciiDigit(nUTF32))
-                        return false;
-                    aTheSynPath.append(sal_Unicode(nUTF32));
-                    bEmpty = false;
-                }
-                if (bEmpty)
-                    return false;
-            }
-            if (pPos != pPathEnd)
-                return false;
-            break;
-        }
-
         case INetProtocol::VndSunStarCmd:
         case INetProtocol::VndSunStarExpand:
         {
@@ -3259,11 +3094,10 @@ bool INetURLObject::parsePath(INetProtocol eScheme,
             while (pPos != pEnd && *pPos != nFragmentDelimiter)
             {
                 EscapeType eEscapeType;
-                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
-                                             '%', eMechanism,
+                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets, eMechanism,
                                              eCharset, eEscapeType);
                 appendUCS4(aTheSynPath, nUTF32, eEscapeType, bOctets, ePart,
-                           '%', eCharset, true);
+                           eCharset, true);
                 ePart = PART_URIC;
             }
             break;
@@ -3285,14 +3119,13 @@ bool INetURLObject::parsePath(INetProtocol eScheme,
             while (pPos < pEnd && *pPos != nFragmentDelimiter)
             {
                 EscapeType eEscapeType;
-                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
-                                             '%', eMechanism,
+                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets, eMechanism,
                                              eCharset, eEscapeType);
                 if (eEscapeType == ESCAPE_NO && nUTF32 == '/')
                     aTheSynPath.append('/');
                 else
                     appendUCS4(aTheSynPath, nUTF32, eEscapeType, bOctets,
-                               PART_PCHAR, '%', eCharset, false);
+                               PART_PCHAR, eCharset, false);
             }
             break;
 
@@ -3301,11 +3134,10 @@ bool INetURLObject::parsePath(INetProtocol eScheme,
             while (pPos < pEnd && *pPos != nFragmentDelimiter)
             {
                 EscapeType eEscapeType;
-                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets,
-                                             '%', eMechanism,
+                sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets, eMechanism,
                                              eCharset, eEscapeType);
                 appendUCS4(aTheSynPath, nUTF32, eEscapeType, bOctets,
-                           PART_URIC, '%', eCharset, true);
+                           PART_URIC, eCharset, true);
             }
             if (aTheSynPath.isEmpty())
                 return false;
@@ -3477,7 +3309,7 @@ bool INetURLObject::insertName(OUString const & rTheName, bool bOctets,
     OUStringBuffer aNewPath;
     aNewPath.append(pPathBegin, pPrefixEnd - pPathBegin);
     aNewPath.append('/');
-    aNewPath.append(encodeText(rTheName, bOctets, PART_PCHAR, getEscapePrefix(),
+    aNewPath.append(encodeText(rTheName, bOctets, PART_PCHAR,
                            eMechanism, eCharset, true));
     if (bInsertSlash) {
         aNewPath.append('/');
@@ -3508,8 +3340,7 @@ bool INetURLObject::setQuery(OUString const & rTheQuery, bool bOctets,
     if (!getSchemeInfo().m_bQuery)
         return false;
     OUString aNewQuery(encodeText(rTheQuery, bOctets, PART_URIC,
-                                   getEscapePrefix(), eMechanism, eCharset,
-                                   true));
+                                   eMechanism, eCharset, true));
     sal_Int32 nDelta;
     if (m_aQuery.isPresent())
         nDelta = m_aQuery.set(m_aAbsURIRef, aNewQuery);
@@ -3542,8 +3373,7 @@ bool INetURLObject::setFragment(OUString const & rTheFragment,
     if (HasError())
         return false;
     OUString aNewFragment(encodeText(rTheFragment, bOctets, PART_URIC,
-                                      getEscapePrefix(), eMechanism,
-                                      eCharset, true));
+                                      eMechanism, eCharset, true));
     if (m_aFragment.isPresent())
         m_aFragment.set(m_aAbsURIRef, aNewFragment);
     else
@@ -3568,8 +3398,7 @@ bool INetURLObject::hasDosVolume(FSysStyle eStyle) const
 // static
 OUString INetURLObject::encodeText(sal_Unicode const * pBegin,
                                     sal_Unicode const * pEnd, bool bOctets,
-                                    Part ePart, sal_Char cEscapePrefix,
-                                    EncodeMechanism eMechanism,
+                                    Part ePart, EncodeMechanism eMechanism,
                                     rtl_TextEncoding eCharset,
                                     bool bKeepVisibleEscapes)
 {
@@ -3577,10 +3406,10 @@ OUString INetURLObject::encodeText(sal_Unicode const * pBegin,
     while (pBegin < pEnd)
     {
         EscapeType eEscapeType;
-        sal_uInt32 nUTF32 = getUTF32(pBegin, pEnd, bOctets, cEscapePrefix,
+        sal_uInt32 nUTF32 = getUTF32(pBegin, pEnd, bOctets,
                                      eMechanism, eCharset, eEscapeType);
         appendUCS4(aResult, nUTF32, eEscapeType, bOctets, ePart,
-                   cEscapePrefix, eCharset, bKeepVisibleEscapes);
+                   eCharset, bKeepVisibleEscapes);
     }
     return aResult.makeStringAndClear();
 }
@@ -3588,7 +3417,6 @@ OUString INetURLObject::encodeText(sal_Unicode const * pBegin,
 // static
 OUString INetURLObject::decode(sal_Unicode const * pBegin,
                                 sal_Unicode const * pEnd,
-                                sal_Char cEscapePrefix,
                                 DecodeMechanism eMechanism,
                                 rtl_TextEncoding eCharset)
 {
@@ -3608,7 +3436,7 @@ OUString INetURLObject::decode(sal_Unicode const * pBegin,
     while (pBegin < pEnd)
     {
         EscapeType eEscapeType;
-        sal_uInt32 nUTF32 = getUTF32(pBegin, pEnd, false, cEscapePrefix,
+        sal_uInt32 nUTF32 = getUTF32(pBegin, pEnd, false,
                                      WAS_ENCODED, eCharset, eEscapeType);
         switch (eEscapeType)
         {
@@ -3617,7 +3445,7 @@ OUString INetURLObject::decode(sal_Unicode const * pBegin,
                 break;
 
             case ESCAPE_OCTET:
-                appendEscape(aResult, cEscapePrefix, nUTF32);
+                appendEscape(aResult, nUTF32);
                 break;
 
             case ESCAPE_UTF32:
@@ -3632,7 +3460,7 @@ OUString INetURLObject::decode(sal_Unicode const * pBegin,
                      )
                    )
                 {
-                    appendEscape(aResult, cEscapePrefix, nUTF32);
+                    appendEscape(aResult, nUTF32);
                 }
                 else
                     aResult.appendUtf32(nUTF32);
@@ -3667,7 +3495,6 @@ INetURLObject::getAbbreviated(
     const
 {
     OSL_ENSURE(rStringWidth.is(), "specification violation");
-    sal_Char cEscapePrefix = getEscapePrefix();
     OUStringBuffer aBuffer;
     // make sure that the scheme is copied for generic schemes: getSchemeInfo().m_pScheme
     // is empty ("") in that case, so take the scheme from m_aAbsURIRef
@@ -3727,7 +3554,6 @@ INetURLObject::getAbbreviated(
                     aSegment(decode(p + (p == pBegin && pBegin != pCoreBegin ?
                                              1 : 0),
                                     pSuffixEnd,
-                                    cEscapePrefix,
                                     eMechanism,
                                     eCharset));
                 pSuffixEnd = p;
@@ -3768,7 +3594,6 @@ INetURLObject::getAbbreviated(
                                         + (pPrefixBegin == pCoreBegin ? 0 :
                                                                         1),
                                     p == pEnd ? p : p + 1,
-                                    cEscapePrefix,
                                     eMechanism,
                                     eCharset));
                 pPrefixBegin = p;
@@ -3805,19 +3630,17 @@ INetURLObject::getAbbreviated(
     if (!bSegment)
         aBuffer.append(decode(pCoreBegin,
                               pCoreEnd,
-                              cEscapePrefix,
                               eMechanism,
                               eCharset));
     if (m_aQuery.isPresent())
     {
         aBuffer.append('?');
-        aBuffer.append(decode(m_aQuery, cEscapePrefix, eMechanism, eCharset));
+        aBuffer.append(decode(m_aQuery, eMechanism, eCharset));
     }
     if (m_aFragment.isPresent())
     {
         aBuffer.append('#');
-        aBuffer.
-            append(decode(m_aFragment, cEscapePrefix, eMechanism, eCharset));
+        aBuffer.append(decode(m_aFragment, eMechanism, eCharset));
     }
     if (!aBuffer.isEmpty())
     {
@@ -3971,12 +3794,8 @@ bool INetURLObject::ConcatData(INetProtocol eTheScheme,
             if (!rTheUser.isEmpty())
             {
                 m_aUser.set(m_aAbsURIRef,
-                            encodeText(rTheUser, false,
-                                       m_eScheme == INetProtocol::Vim ?
-                                           PART_VIM :
-                                           PART_USER_PASSWORD,
-                                       getEscapePrefix(), eMechanism,
-                                       eCharset, false),
+                            encodeText(rTheUser, false, PART_USER_PASSWORD,
+                                       eMechanism, eCharset, false),
                             m_aAbsURIRef.getLength());
                 bUserInfo = true;
             }
@@ -3992,11 +3811,8 @@ bool INetURLObject::ConcatData(INetProtocol eTheScheme,
             {
                 m_aAbsURIRef.append(':');
                 m_aAuth.set(m_aAbsURIRef,
-                            encodeText(rThePassword, false,
-                                       m_eScheme == INetProtocol::Vim ?

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list