From 79d208795c4f1fab88caa7e1684cfbb3c37fc185 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Wed, 27 Sep 2017 04:28:21 +0200 Subject: GH-1997 fix off by one error in 8.3 path logic --- api/logic/minecraft/launch/LauncherPartLaunch.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'api/logic/minecraft/launch/LauncherPartLaunch.cpp') diff --git a/api/logic/minecraft/launch/LauncherPartLaunch.cpp b/api/logic/minecraft/launch/LauncherPartLaunch.cpp index c5b2219a..9b9889a4 100644 --- a/api/logic/minecraft/launch/LauncherPartLaunch.cpp +++ b/api/logic/minecraft/launch/LauncherPartLaunch.cpp @@ -36,8 +36,13 @@ QString shortPathName(const QString & file) auto input = file.toStdWString(); std::wstring output; long length = GetShortPathNameW(input.c_str(), NULL, 0); + // NOTE: this resizing might seem weird... + // when GetShortPathNameW fails, it returns length including null character + // when it succeeds, it returns length excluding null character + // See: https://msdn.microsoft.com/en-us/library/windows/desktop/aa364989(v=vs.85).aspx output.resize(length); GetShortPathNameW(input.c_str(),(LPWSTR)output.c_str(),length); + output.resize(length-1); QString ret = QString::fromStdWString(output); return ret; } -- cgit v1.2.3