mirror of
https://github.com/patchzyy/wiicompiled
synced 2026-09-11 01:23:15 -04:00
Use safe UTF-8 path construction
This commit is contained in:
@@ -777,7 +777,7 @@ inline std::string DvdRoot(std::string fallback = "") {
|
||||
inline std::filesystem::path ResolveRelativeTo(const std::filesystem::path& base,
|
||||
const std::string& value) {
|
||||
// Config strings are UTF-8; the char overload would decode via the ANSI codepage.
|
||||
std::filesystem::path path(reinterpret_cast<const char8_t*>(value.c_str()));
|
||||
std::filesystem::path path(std::u8string(value.begin(), value.end()));
|
||||
if (path.is_relative()) {
|
||||
path = base / path;
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ std::string RiivoGenericText(const fs::path& path) {
|
||||
}
|
||||
|
||||
fs::path RiivoPathFromUtf8(const std::string& text) {
|
||||
return fs::path(reinterpret_cast<const char8_t*>(text.c_str()));
|
||||
return fs::path(std::u8string(text.begin(), text.end()));
|
||||
}
|
||||
|
||||
std::string RiivoComparablePath(const fs::path& path) {
|
||||
|
||||
Reference in New Issue
Block a user