QString Autodetection::resolveMountPoint(QString device) { qDebug() << "Autodetection::resolveMountPoint(QString)" << device; #if defined(Q_OS_LINUX) FILE *fp = fopen( "/proc/mounts", "r" ); if( !fp ) return QString(""); char *dev, *dir; while( fscanf( fp, "%as %as %*s %*s %*s %*s", &dev, &dir ) != EOF ) { if( QString(dev).startsWith(device) ) { QString directory = dir; free( dev ); free( dir ); fclose(fp); return directory; } free( dev ); free( dir ); } fclose( fp ); #elif defined(Q_OS_MACX) struct statfs *buf; char* device; int i, n; n = getmntinfo(&buf , MNT_WAIT); sprintf(dev, "%ss2", device); <-- device is QtString, not char* for (i=0 ; i < n ; i++) { if (strcmp(dev, buf[i].f_mntfromname)==0) { QString directory = buf[i].f_mntonname; return directory; } } #endif return QString(""); }