[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdelibs/kdecore
From: Laurence Anderson <l.d.anderson () warwick ! ac ! uk>
Date: 2003-08-16 14:14:25
[Download RAW message or body]
CVS commit by landers:
SubURL fix #1 of 3:
Before: KURL myURL("file:/home/laurence/archive.tgz#tar:/path/to/abc.doc", "myabc" ) \
= file:/home/laurence/myabc
After: KURL myURL("file:/home/laurence/archive.tgz#tar:/path/to/abc.doc", "myabc" ) = \
file:/home/laurence/archive.tgz#tar:/path/to/myabc
M +13 -0 kurl.cpp 1.252
--- kdelibs/kdecore/kurl.cpp #1.251:1.252
@@ -466,4 +466,13 @@ KURL::KURL( const QUrl &u )
KURL::KURL( const KURL& _u, const QString& _rel_url, int encoding_hint )
{
+ if (_u.hasSubURL()) // Operate on the last suburl, not the first
+ {
+ KURL::List lst = split( _u );
+ KURL u(lst.last(), _rel_url, encoding_hint);
+ lst.remove( lst.last() );
+ lst.append( u );
+ *this = join( lst );
+ return;
+ }
// WORKAROUND THE RFC 1606 LOOPHOLE THAT ALLOWS
// http:/index.html AS A VALID SYNTAX FOR RELATIVE
@@ -1243,4 +1252,8 @@ bool KURL::hasSubURL() const
return true;
if (m_strRef_encoded.startsWith("tar:"))
+ return true;
+ if (m_strRef_encoded.startsWith("ar:"))
+ return true;
+ if (m_strRef_encoded.startsWith("zip:"))
return true;
if ( m_strProtocol == "error" ) // anything that starts with error: has suburls
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic