diff options
Diffstat (limited to 'rbutil')
-rw-r--r-- | rbutil/rbutilqt/autodetection.cpp | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/rbutil/rbutilqt/autodetection.cpp b/rbutil/rbutilqt/autodetection.cpp index a359b91afd..8f478835be 100644 --- a/rbutil/rbutilqt/autodetection.cpp +++ b/rbutil/rbutilqt/autodetection.cpp | |||
@@ -117,17 +117,15 @@ QStringList Autodetection::getMountpoints() | |||
117 | #elif defined(Q_OS_LINUX) | 117 | #elif defined(Q_OS_LINUX) |
118 | QStringList tempList; | 118 | QStringList tempList; |
119 | 119 | ||
120 | FILE *fp = fopen( "/proc/mounts", "r" ); | 120 | FILE *mn = setmntent("/etc/mtab", "r"); |
121 | if( !fp ) return tempList; | 121 | if(!mn) |
122 | char *dev, *dir; | 122 | return QStringList(""); |
123 | while( fscanf( fp, "%as %as %*s %*s %*s %*s", &dev, &dir ) != EOF ) | 123 | |
124 | { | 124 | struct mntent *ent; |
125 | tempList << dir; | 125 | while((ent = getmntent(mn))) |
126 | free( dev ); | 126 | tempList << QString(ent->mnt_dir); |
127 | free( dir ); | 127 | endmntent(mn); |
128 | } | 128 | |
129 | fclose( fp ); | ||
130 | |||
131 | return tempList; | 129 | return tempList; |
132 | #else | 130 | #else |
133 | #error Unknown Plattform | 131 | #error Unknown Plattform |