diff options
author | Timothy Pearson <[email protected]> | 2013-04-17 01:45:51 -0500 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2013-04-17 01:45:51 -0500 |
commit | 4d6667159ef183f83e64ed0c8479162dc5629951 (patch) | |
tree | e1987ecdc41aae0e52d89beb5e1436bb1cc69383 /tdecore | |
parent | 43e139235d1457fed093c270b81d5e16c1922fc1 (diff) | |
download | tdelibs-4d6667159ef183f83e64ed0c8479162dc5629951.tar.gz tdelibs-4d6667159ef183f83e64ed0c8479162dc5629951.zip |
Fix a number of problems with the forwarding slave and dirlister
Fix TDE HW library not detecting mounted drives
Diffstat (limited to 'tdecore')
-rw-r--r-- | tdecore/kdebug.cpp | 4 | ||||
-rw-r--r-- | tdecore/kurl.cpp | 28 | ||||
-rw-r--r-- | tdecore/kurl.h | 10 | ||||
-rw-r--r-- | tdecore/tdehardwaredevices.cpp | 2 |
4 files changed, 41 insertions, 3 deletions
diff --git a/tdecore/kdebug.cpp b/tdecore/kdebug.cpp index 656edf6f9..d7b0372a6 100644 --- a/tdecore/kdebug.cpp +++ b/tdecore/kdebug.cpp @@ -298,7 +298,9 @@ static void kDebugBackend( unsigned short nLevel, unsigned int nArea, const char } case 2: // Shell { - write( 2, buf, strlen( buf ) ); //fputs( buf, stderr ); + if (write( 2, buf, strlen( buf ) ) < 0) { //fputs( buf, stderr ); + // ERROR + } break; } case 3: // syslog diff --git a/tdecore/kurl.cpp b/tdecore/kurl.cpp index 2079c050b..cb1ca9eea 100644 --- a/tdecore/kurl.cpp +++ b/tdecore/kurl.cpp @@ -400,6 +400,12 @@ static TQString cleanpath(const TQString &_path, bool cleanDirSeparator, bool de return result; } +class KURLPrivate +{ +public: + TQString m_strInternalReferenceURL; +}; + bool KURL::isRelativeURL(const TQString &_url) { int len = _url.length(); @@ -454,6 +460,7 @@ TQStringList KURL::List::toStringList() const KURL::KURL() { + d = new KURLPrivate(); reset(); } @@ -464,25 +471,30 @@ KURL::~KURL() KURL::KURL( const TQString &url, int encoding_hint ) { + d = new KURLPrivate(); reset(); parse( url, encoding_hint ); } KURL::KURL( const char * url, int encoding_hint ) { + d = new KURLPrivate(); reset(); parse( TQString::fromLatin1(url), encoding_hint ); } KURL::KURL( const TQCString& url, int encoding_hint ) { + d = new KURLPrivate(); reset(); parse( TQString::fromLatin1(url), encoding_hint ); } KURL::KURL( const KURL& _u ) { + d = new KURLPrivate(); *this = _u; + d->m_strInternalReferenceURL = _u.d->m_strInternalReferenceURL; } TQDataStream & operator<< (TQDataStream & s, const KURL & a) @@ -521,12 +533,16 @@ TQDataStream & operator>> (TQDataStream & s, KURL & a) #ifndef QT_NO_NETWORKPROTOCOL KURL::KURL( const TQUrl &u ) { + d = new KURLPrivate(); *this = u; } #endif KURL::KURL( const KURL& _u, const TQString& _rel_url, int encoding_hint ) { + d = new KURLPrivate(); + d->m_strInternalReferenceURL = _u.d->m_strInternalReferenceURL; + if (_u.hasSubURL()) // Operate on the last suburl, not the first { KURL::List lst = split( _u ); @@ -534,6 +550,7 @@ KURL::KURL( const KURL& _u, const TQString& _rel_url, int encoding_hint ) lst.remove( lst.last() ); lst.append( u ); *this = join( lst ); + d->m_strInternalReferenceURL = _u.d->m_strInternalReferenceURL; return; } // WORKAROUND THE RFC 1606 LOOPHOLE THAT ALLOWS @@ -1077,6 +1094,7 @@ KURL& KURL::operator=( const KURL& _u ) m_bIsMalformed = _u.m_bIsMalformed; m_iPort = _u.m_iPort; m_iUriMode = _u.m_iUriMode; + d->m_strInternalReferenceURL = _u.d->m_strInternalReferenceURL; return *this; } @@ -1137,7 +1155,8 @@ bool KURL::operator==( const KURL& _u ) const m_strPath_encoded == _u.m_strPath_encoded ) && m_strQuery_encoded == _u.m_strQuery_encoded && m_strRef_encoded == _u.m_strRef_encoded && - m_iPort == _u.m_iPort ) + m_iPort == _u.m_iPort && + d->m_strInternalReferenceURL == _u.d->m_strInternalReferenceURL ) { return true; } @@ -2295,6 +2314,13 @@ TQString KURL::relativePath(const TQString &base_dir, const TQString &path, bool return result; } +void KURL::setInternalReferenceURL( const TQString& url ) { + d->m_strInternalReferenceURL = url; +} + +TQString KURL::internalReferenceURL( void ) const { + return d->m_strInternalReferenceURL; +} TQString KURL::relativeURL(const KURL &base_url, const KURL &url, int encoding_hint) { diff --git a/tdecore/kurl.h b/tdecore/kurl.h index ef454f60f..bcb44907e 100644 --- a/tdecore/kurl.h +++ b/tdecore/kurl.h @@ -591,6 +591,16 @@ public: bool hasPath() const { return !m_strPath.isEmpty(); } /** + * @brief @internal + */ + void setInternalReferenceURL( const TQString& url ); + + /** + * @brief @internal + */ + TQString internalReferenceURL( void ) const; + + /** * @brief Resolves @c "." and @c ".." components in path * * Some servers seem not to like the removal of extra @c '/' diff --git a/tdecore/tdehardwaredevices.cpp b/tdecore/tdehardwaredevices.cpp index 3ed8661b6..1f185985e 100644 --- a/tdecore/tdehardwaredevices.cpp +++ b/tdecore/tdehardwaredevices.cpp @@ -868,7 +868,7 @@ TQString TDEStorageDevice::mountPath() { TQStringList mountInfo = TQStringList::split(" ", line, true); TQString testNode = *mountInfo.at(0); // Check for match - if ((testNode == deviceNode()) || (testNode == dmaltname)) { + if ((testNode == deviceNode()) || (testNode == dmaltname) || (testNode == ("/dev/disk/by-uuid/" + diskUUID()))) { TQString ret = *mountInfo.at(1); ret.replace("\\040", " "); return ret; |