don't include zero terminator into the string

fixes "run in terminal" and potentially numerous other bugs.

Task-number: QTCREATORBUG-4012
This commit is contained in:
Oswald Buddenhagen
2011-03-21 20:24:18 +01:00
parent 919acf5786
commit 428520d8eb

View File

@@ -160,7 +160,7 @@ QTCREATOR_UTILS_EXPORT QString getShortPathName(const QString &name, QString *er
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);
const QString rc = QString::fromUtf16(reinterpret_cast<const ushort *>(buffer.data()), length - 1);
return rc;
}
@@ -192,7 +192,7 @@ QTCREATOR_UTILS_EXPORT QString getLongPathName(const QString &name, QString *err
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);
const QString rc = QString::fromUtf16(reinterpret_cast<const ushort *>(buffer.data()), length - 1);
return rc;
}