From kde-commits Mon Feb 21 22:24:40 2005 From: Helio Chissini de Castro Date: Mon, 21 Feb 2005 22:24:40 +0000 To: kde-commits Subject: kdelibs/kio Message-Id: <20050221222440.9199A2226 () office ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=110902468804896 CVS commit by helio: - Missing KDE_EXPORT on public API. Fix kdebindings smoke compilation M +42 -5 kio/global.cpp 1.142 M +3 -3 kssl/ksslutils.h 1.10 --- kdelibs/kio/kio/global.cpp #1.141:1.142 @@ -1348,4 +1348,19 @@ extern "C" void endvfsent( ); #endif /* HAVE_GETMNTINFO */ +// Get the device name from the mount options when using supermount +static QString supermountDevName(QStringList *options) +{ + // Search options to find the device name + for ( QStringList::Iterator it = options->begin(); it != options->end(); ++it) + { + if( (*it).startsWith("dev=")) + { + return (*it).remove("dev="); + } + } + return QString("none"); +} + + QString KIO::findDeviceMountPoint( const QString& filename ) { @@ -1536,7 +1551,19 @@ QString KIO::findDeviceMountPoint( const while (GETMNTENT(mtab, me)) { + // Conectiva changes ( Gustavo Boiko boiko@conectiva.com.br + QString fs_type = MOUNTTYPE(me); + QCString device_name; + if (fs_type == "supermount") + { + device_name = supermountDevName(&QStringList::split(",",me->mnt_opts)).latin1(); + } + else + { // There may be symbolic links into the /etc/mnttab // So we have to find the real device name here as well! - QCString device_name = FSNAME(me); + device_name = FSNAME(me); + } + + if (device_name.isEmpty() || (device_name == "none")) continue; @@ -1826,6 +1853,10 @@ static QString get_mount_info(const QStr // The next GETMNTENT call may destroy 'me' // Copy out the info that we need - QCString fsname_me = FSNAME(me); QCString mounttype_me = MOUNTTYPE(me); + QCString fsname_me; + if (mounttype_me == "supermount") + fsname_me = supermountDevName(&QStringList::split(",",me->mnt_opts)).latin1(); + else + fsname_me = FSNAME(me); STRUCT_SETMNTENT fstab; @@ -1838,5 +1869,11 @@ static QString get_mount_info(const QStr while (GETMNTENT(fstab, fe)) { - if (fsname_me == FSNAME(fe)) + QCString mounttype_fe = MOUNTTYPE(fe); + QCString fsname_fe; + if ( mounttype_fe == "supermount" ) + fsname_fe = supermountDevName(&QStringList::split(",",fe->mnt_opts)).latin1(); + else + fsname_fe = FSNAME(fe); + if (fsname_me == fsname_fe) { found = true; --- kdelibs/kio/kssl/ksslutils.h #1.9:1.10 @@ -47,5 +47,5 @@ class QDateTime; * @see ASN1_UTCTIME_QDateTime */ -QString ASN1_UTCTIME_QString(ASN1_UTCTIME *tm); +KDE_EXPORT QString ASN1_UTCTIME_QString(ASN1_UTCTIME *tm); /** @@ -57,5 +57,5 @@ QString ASN1_UTCTIME_QString(ASN1_UTCTIM * @return the date formatted in a QDateTime */ -QDateTime ASN1_UTCTIME_QDateTime(ASN1_UTCTIME *tm, int *isGmt); +KDE_EXPORT QDateTime ASN1_UTCTIME_QDateTime(ASN1_UTCTIME *tm, int *isGmt); @@ -67,5 +67,5 @@ QDateTime ASN1_UTCTIME_QDateTime(ASN1_UT * @return the number formatted in a QString */ -QString ASN1_INTEGER_QString(ASN1_INTEGER *aint); +KDE_EXPORT QString ASN1_INTEGER_QString(ASN1_INTEGER *aint); #endif