forked from qt-creator/qt-creator
Crossify normalizePathName
Denoise usages
get{Short|Long}PathName are now static. They're not used anywhere except
in normalizePathName.
Change-Id: Ief277b6d828faadd98ec7faa39dd682bfaa8805f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
bc81930f17
commit
4de3b94840
@@ -129,54 +129,6 @@ QTCREATOR_UTILS_EXPORT QString winGetDLLVersion(WinDLLVersionType t,
|
||||
return rc;
|
||||
}
|
||||
|
||||
QTCREATOR_UTILS_EXPORT QString getShortPathName(const QString &name)
|
||||
{
|
||||
if (name.isEmpty())
|
||||
return name;
|
||||
|
||||
// Determine length, then convert.
|
||||
const LPCTSTR nameC = reinterpret_cast<LPCTSTR>(name.utf16()); // MinGW
|
||||
const DWORD length = GetShortPathNameW(nameC, NULL, 0);
|
||||
if (length == 0)
|
||||
return name;
|
||||
QScopedArrayPointer<TCHAR> buffer(new TCHAR[length]);
|
||||
GetShortPathNameW(nameC, buffer.data(), length);
|
||||
const QString rc = QString::fromUtf16(reinterpret_cast<const ushort *>(buffer.data()), length - 1);
|
||||
return rc;
|
||||
}
|
||||
|
||||
QTCREATOR_UTILS_EXPORT QString getLongPathName(const QString &name)
|
||||
{
|
||||
if (name.isEmpty())
|
||||
return name;
|
||||
|
||||
// Determine length, then convert.
|
||||
const LPCTSTR nameC = reinterpret_cast<LPCTSTR>(name.utf16()); // MinGW
|
||||
const DWORD length = GetLongPathNameW(nameC, NULL, 0);
|
||||
if (length == 0)
|
||||
return name;
|
||||
QScopedArrayPointer<TCHAR> buffer(new TCHAR[length]);
|
||||
GetLongPathNameW(nameC, buffer.data(), length);
|
||||
const QString rc = QString::fromUtf16(reinterpret_cast<const ushort *>(buffer.data()), length - 1);
|
||||
return rc;
|
||||
}
|
||||
|
||||
// makes sure that capitalization of directories is canonical.
|
||||
// This mimics the logic in QDeclarative_isFileCaseCorrect
|
||||
QTCREATOR_UTILS_EXPORT QString normalizePathName(const QString &name)
|
||||
{
|
||||
QString canonicalName = getShortPathName(name);
|
||||
if (canonicalName.isEmpty())
|
||||
return name;
|
||||
canonicalName = getLongPathName(canonicalName);
|
||||
if (canonicalName.isEmpty())
|
||||
return name;
|
||||
// Upper case drive letter
|
||||
if (canonicalName.size() > 2 && canonicalName.at(1) == QLatin1Char(':'))
|
||||
canonicalName[0] = canonicalName.at(0).toUpper();
|
||||
return canonicalName;
|
||||
}
|
||||
|
||||
QTCREATOR_UTILS_EXPORT bool winIs64BitSystem()
|
||||
{
|
||||
SYSTEM_INFO systemInfo;
|
||||
|
||||
Reference in New Issue
Block a user