diff options
| -rw-r--r-- | zenstore/filecas.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/zenstore/filecas.cpp b/zenstore/filecas.cpp index 4d4a071e8..3eccf53ff 100644 --- a/zenstore/filecas.cpp +++ b/zenstore/filecas.cpp @@ -370,7 +370,7 @@ FileCasStrategy::IterateChunks(std::function<void(const IoHash& Hash, BasicFile& std::filesystem::path RelPath = std::filesystem::relative(Parent, RootDirectory); - std::wstring PathString = RelPath.native(); + std::filesystem::path::string_type PathString = RelPath.native(); if ((PathString.size() == (3 + 2 + 1)) && (File.size() == (40 - 3 - 2))) { @@ -380,12 +380,15 @@ FileCasStrategy::IterateChunks(std::function<void(const IoHash& Hash, BasicFile& } PathString.append(File); - StringBuilder<64> Utf8; - WideToUtf8(PathString, Utf8); - // TODO: should validate that we're actually dealing with a valid hex string here +#if ZEN_PLATFORM_WINDOWS + StringBuilder<64> Utf8; + WideToUtf8(PathString, Utf8); IoHash NameHash = IoHash::FromHexString({Utf8.Data(), Utf8.Size()}); +#else + IoHash NameHash = IoHash::FromHexString(PathString); +#endif BasicFile PayloadFile; std::error_code Ec; |