diff --git a/libaegisub/windows/fs.cpp b/libaegisub/windows/fs.cpp index f626407e2..fbd28c7fe 100644 --- a/libaegisub/windows/fs.cpp +++ b/libaegisub/windows/fs.cpp @@ -35,7 +35,11 @@ namespace bfs = boost::filesystem; namespace agi { namespace fs { std::string ShortName(path const& p) { - std::wstring out(MAX_PATH + 1, 0); + DWORD length = GetShortPathName(p.c_str(), NULL, 0); + if (!length) + return p.string(); + + std::wstring out(length, 0); DWORD len = GetShortPathName(p.c_str(), &out[0], out.size()); if (!len) return p.string();