All pastes #678730 Raw Edit

Stuff

public text v1 · immutable
#678730 ·published 2007-09-02 09:00 UTC
rendered paste body
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("");

}