diff options
author | Max Kellermann <max@musicpd.org> | 2018-02-24 22:13:16 +0100 |
---|---|---|
committer | Max Kellermann <max@musicpd.org> | 2018-02-24 22:44:42 +0100 |
commit | 774d26b982aa317f98d2ff6a5cee80f6e2babb33 (patch) | |
tree | 748be45806d504909aa2bac618e49d4c35a3082a | |
parent | f3e683bd6ff464295826e2e760c7a67588038a04 (diff) |
storage/nfs: assume UTF-8 when accessing NFS from Windows
Fixes two build failures with libnfs on Windows.
-rw-r--r-- | src/storage/plugins/NfsStorage.cxx | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/storage/plugins/NfsStorage.cxx b/src/storage/plugins/NfsStorage.cxx index 53549bead..e7e5eb828 100644 --- a/src/storage/plugins/NfsStorage.cxx +++ b/src/storage/plugins/NfsStorage.cxx @@ -219,7 +219,12 @@ UriToNfsPath(const char *_uri_utf8) std::string 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(); +#endif } std::string @@ -358,7 +363,14 @@ NfsListDirectoryOperation::CollectEntries(struct nfsdir *dir) const struct nfsdirent *ent; 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); +#endif if (SkipNameFS(name_fs.c_str())) continue; |