summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rbutil/rbutilqt/base/autodetection.cpp41
1 files changed, 11 insertions, 30 deletions
diff --git a/rbutil/rbutilqt/base/autodetection.cpp b/rbutil/rbutilqt/base/autodetection.cpp
index 0526d8d9c9..332a16017f 100644
--- a/rbutil/rbutilqt/base/autodetection.cpp
+++ b/rbutil/rbutilqt/base/autodetection.cpp
@@ -265,6 +265,7 @@ QString Autodetection::resolveMountPoint(QString device)
265 if(QString(ent->mnt_fsname).startsWith(device) 265 if(QString(ent->mnt_fsname).startsWith(device)
266 && QString(ent->mnt_type).contains("vfat", Qt::CaseInsensitive)) { 266 && QString(ent->mnt_type).contains("vfat", Qt::CaseInsensitive)) {
267 endmntent(mn); 267 endmntent(mn);
268 qDebug() << "[Autodetect] resolved mountpoint is:" << mntinf->nmt_dir;
268 return QString(ent->mnt_dir); 269 return QString(ent->mnt_dir);
269 } 270 }
270 } 271 }
@@ -272,28 +273,17 @@ QString Autodetection::resolveMountPoint(QString device)
272 273
273#endif 274#endif
274 275
275#if defined(Q_OS_MACX) 276#if defined(Q_OS_MACX) || defined(Q_OS_OPENBSD)
276 int num;
277 struct statfs *mntinf;
278
279 num = getmntinfo(&mntinf, MNT_WAIT);
280 while(num--) {
281 if(QString(mntinf->f_mntfromname).startsWith(device)
282 && QString(mntinf->f_fstypename).contains("vfat", Qt::CaseInsensitive))
283 return QString(mntinf->f_mntonname);
284 mntinf++;
285 }
286#endif
287
288#if defined(Q_OS_OPENBSD)
289 int num; 277 int num;
290 struct statfs *mntinf; 278 struct statfs *mntinf;
291 279
292 num = getmntinfo(&mntinf, MNT_WAIT); 280 num = getmntinfo(&mntinf, MNT_WAIT);
293 while(num--) { 281 while(num--) {
294 if(QString(mntinf->f_mntfromname).startsWith(device) 282 if(QString(mntinf->f_mntfromname).startsWith(device)
295 && QString(mntinf->f_fstypename).contains("msdos", Qt::CaseInsensitive)) 283 && QString(mntinf->f_fstypename).contains("msdos", Qt::CaseInsensitive)) {
284 qDebug() << "[Autodetect] resolved mountpoint is:" << mntinf->f_mntonname;
296 return QString(mntinf->f_mntonname); 285 return QString(mntinf->f_mntonname);
286 }
297 mntinf++; 287 mntinf++;
298 } 288 }
299#endif 289#endif
@@ -334,6 +324,7 @@ QString Autodetection::resolveDevicename(QString path)
334 if(QString(ent->mnt_dir).startsWith(path) 324 if(QString(ent->mnt_dir).startsWith(path)
335 && QString(ent->mnt_type).contains("vfat", Qt::CaseInsensitive)) { 325 && QString(ent->mnt_type).contains("vfat", Qt::CaseInsensitive)) {
336 endmntent(mn); 326 endmntent(mn);
327 qDebug() << "[Autodetect] device name is" << ent->mnt_fsname;
337 return QString(ent->mnt_fsname); 328 return QString(ent->mnt_fsname);
338 } 329 }
339 } 330 }
@@ -341,31 +332,21 @@ QString Autodetection::resolveDevicename(QString path)
341 332
342#endif 333#endif
343 334
344#if defined(Q_OS_MACX) 335#if defined(Q_OS_MACX) || defined(Q_OS_OPENBSD)
345 int num; 336 int num;
346 struct statfs *mntinf; 337 struct statfs *mntinf;
347 338
348 num = getmntinfo(&mntinf, MNT_WAIT); 339 num = getmntinfo(&mntinf, MNT_WAIT);
349 while(num--) { 340 while(num--) {
350 if(QString(mntinf->f_mntonname).startsWith(path) 341 if(QString(mntinf->f_mntonname).startsWith(path)
351 && QString(mntinf->f_fstypename).contains("vfat", Qt::CaseInsensitive)) 342 && QString(mntinf->f_fstypename).contains("msdos", Qt::CaseInsensitive)) {
343 qDebug() << "[Autodetect] device name is" << mntinf->f_mntfromname;
352 return QString(mntinf->f_mntfromname); 344 return QString(mntinf->f_mntfromname);
345 }
353 mntinf++; 346 mntinf++;
354 } 347 }
355#endif 348#endif
356 349
357#if defined(Q_OS_OPENBSD)
358 int num;
359 struct statfs *mntinf;
360
361 num = getmntinfo(&mntinf, MNT_WAIT);
362 while(num--) {
363 if(QString(mntinf->f_mntonname).startsWith(device)
364 && QString(mntinf->f_fstypename).contains("msdos", Qt::CaseInsensitive))
365 return QString(mntinf->f_mntfromname);
366 mntinf++;
367 }
368#endif
369#if defined(Q_OS_WIN32) 350#if defined(Q_OS_WIN32)
370 DWORD written; 351 DWORD written;
371 HANDLE h; 352 HANDLE h;
@@ -387,7 +368,7 @@ QString Autodetection::resolveDevicename(QString path)
387 qDebug() << "[Autodetect] resolving device name: volume spans multiple disks!"; 368 qDebug() << "[Autodetect] resolving device name: volume spans multiple disks!";
388 return ""; 369 return "";
389 } 370 }
390 //qDebug() << "Disk:" << extents->Extents[0].DiskNumber; 371 qDebug() << "[Autodetect] device name is" << extents->Extents[0].DiskNumber;
391 return QString("%1").arg(extents->Extents[0].DiskNumber); 372 return QString("%1").arg(extents->Extents[0].DiskNumber);
392 } 373 }
393#endif 374#endif