storage/nfs: assume UTF-8 when accessing NFS from Windows
Fixes two build failures with libnfs on Windows.
This commit is contained in:
parent
f3e683bd6f
commit
774d26b982
@ -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)
|
|||||||
|
|
||||||
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;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user