Commit 774d26b9 authored by Max Kellermann's avatar Max Kellermann

storage/nfs: assume UTF-8 when accessing NFS from Windows

Fixes two build failures with libnfs on Windows.
parent f3e683bd
...@@ -219,7 +219,12 @@ UriToNfsPath(const char *_uri_utf8) ...@@ -219,7 +219,12 @@ UriToNfsPath(const char *_uri_utf8)
std::string uri_utf8("/"); std::string uri_utf8("/");
uri_utf8.append(_uri_utf8); uri_utf8.append(_uri_utf8);
#ifdef _WIN32
/* assume UTF-8 when accessing NFS from Windows */
return uri_utf8;
#else
return AllocatedPath::FromUTF8Throw(uri_utf8.c_str()).Steal(); return AllocatedPath::FromUTF8Throw(uri_utf8.c_str()).Steal();
#endif
} }
std::string std::string
...@@ -358,7 +363,14 @@ NfsListDirectoryOperation::CollectEntries(struct nfsdir *dir) ...@@ -358,7 +363,14 @@ NfsListDirectoryOperation::CollectEntries(struct nfsdir *dir)
const struct nfsdirent *ent; const struct nfsdirent *ent;
while ((ent = connection.ReadDirectory(dir)) != nullptr) { while ((ent = connection.ReadDirectory(dir)) != nullptr) {
#ifdef _WIN32
/* assume UTF-8 when accessing NFS from Windows */
const auto name_fs = AllocatedPath::FromUTF8Throw(ent->name);
if (name_fs.IsNull())
continue;
#else
const Path name_fs = Path::FromFS(ent->name); const Path name_fs = Path::FromFS(ent->name);
#endif
if (SkipNameFS(name_fs.c_str())) if (SkipNameFS(name_fs.c_str()))
continue; continue;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment