1. C++ / Говнокод #7176

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    WCHAR *qStringToWideChar(const QString &str) {
        if (str.isNull())
            return 0;
        WCHAR *result = new WCHAR[str.length() + 1];
        for (unsigned int i = 0; i < str.length(); ++i)
            result[i] = str[i].unicode();
        result[str.length()] = 0;
        return result;
    }

    Опять неосиляторы ассистента издеваются над Qt.

    Запостил: panter_dsd, 06 Июля 2011

    Комментарии (12) RSS

    • Ну да ладно корректная конверсия типов это геммор может быть тот еще, и костыли тутички не редкость.
      Ответить
      • Ох, щет. Посмотрел использование.
        unsigned long long getFreeSpace_platform(QString path) 
        {
         //windows version
         ULARGE_INTEGER free;
         const WCHAR* w=qStringToWideChar( path );
         if( !GetDiskFreeSpaceExW(w, &free, 0, 0) ){
         delete[] w;
         return -1;
         }
         delete[] w;
         return free.QuadPart;
        }

        А проверка на ноль?
        Ответить
        • В такой куче говна было бы странно если бы она присутствовала.
          Ответить
        • free.QuadPart - читаю млять как квадрат.
          И что еще за free? Свободный и независимый класс? :D Куба обзавидуется.
          Ответить
        • А что делает GetDiskFreeSpaceExW с нулём?
          Ответить
          • с каким нулем, в параметрах ?
            Ответить
          • Она возвращает размер для корневого диска.
            Ответить
          • игнорирует
            вообще настоящее фри эта функция никогда не узнает
            Ответить

    Добавить комментарий