WinUtils: Use scoped array pointer

Requested by Friedemann
This commit is contained in:
Kai Koehne
2011-01-05 15:31:53 +01:00
parent 2c4ae8c1b8
commit f635e8823a

View File

@@ -158,10 +158,9 @@ QTCREATOR_UTILS_EXPORT QString getShortPathName(const QString &name, QString *er
const DWORD length = (*getShortPathNameW)(nameC, NULL, 0);
if (length == 0)
return name;
TCHAR *buffer = new TCHAR[length];
(*getShortPathNameW)(nameC, buffer, length);
const QString rc = QString::fromUtf16(reinterpret_cast<const ushort *>(buffer), length);
delete [] buffer;
QScopedArrayPointer<TCHAR> buffer(new TCHAR[length]);
(*getShortPathNameW)(nameC, buffer.data(), length);
const QString rc = QString::fromUtf16(reinterpret_cast<const ushort *>(buffer.data()), length);
return rc;
}
@@ -191,10 +190,9 @@ QTCREATOR_UTILS_EXPORT QString getLongPathName(const QString &name, QString *err
const DWORD length = (*getLongPathNameW)(nameC, NULL, 0);
if (length == 0)
return name;
TCHAR *buffer = new TCHAR[length];
(*getLongPathNameW)(nameC, buffer, length);
const QString rc = QString::fromUtf16(reinterpret_cast<const ushort *>(buffer), length);
delete [] buffer;
QScopedArrayPointer<TCHAR> buffer(new TCHAR[length]);
(*getLongPathNameW)(nameC, buffer.data(), length);
const QString rc = QString::fromUtf16(reinterpret_cast<const ushort *>(buffer.data()), length);
return rc;
}