fs/AllocatedPath: add method FromUTF8Throw()
This commit is contained in:
parent
6513ff92a7
commit
fc3e0dfcd1
@ -43,9 +43,8 @@ playlist_print_song(BufferedOutputStream &os, const DetachedSong &song)
|
|||||||
: song.GetURI();
|
: song.GetURI();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const auto uri_fs = AllocatedPath::FromUTF8(uri_utf8);
|
const auto uri_fs = AllocatedPath::FromUTF8Throw(uri_utf8);
|
||||||
if (!uri_fs.IsNull())
|
os.Format("%s\n", NarrowPath(uri_fs).c_str());
|
||||||
os.Format("%s\n", NarrowPath(uri_fs).c_str());
|
|
||||||
} catch (const std::runtime_error &) {
|
} catch (const std::runtime_error &) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -61,7 +60,7 @@ playlist_print_uri(BufferedOutputStream &os, const char *uri)
|
|||||||
? map_uri_fs(uri)
|
? map_uri_fs(uri)
|
||||||
:
|
:
|
||||||
#endif
|
#endif
|
||||||
AllocatedPath::FromUTF8(uri);
|
AllocatedPath::FromUTF8Throw(uri);
|
||||||
|
|
||||||
if (!path.IsNull())
|
if (!path.IsNull())
|
||||||
os.Format("%s\n", NarrowPath(path).c_str());
|
os.Format("%s\n", NarrowPath(path).c_str());
|
||||||
|
@ -43,6 +43,16 @@ AllocatedPath::FromUTF8(const char *path_utf8)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AllocatedPath
|
||||||
|
AllocatedPath::FromUTF8Throw(const char *path_utf8)
|
||||||
|
{
|
||||||
|
#if defined(HAVE_FS_CHARSET) || defined(WIN32)
|
||||||
|
return AllocatedPath(::PathFromUTF8(path_utf8));
|
||||||
|
#else
|
||||||
|
return FromFS(path_utf8);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
AllocatedPath
|
AllocatedPath
|
||||||
AllocatedPath::FromUTF8(const char *path_utf8, Error &error)
|
AllocatedPath::FromUTF8(const char *path_utf8, Error &error)
|
||||||
{
|
{
|
||||||
|
@ -157,6 +157,13 @@ public:
|
|||||||
gcc_pure gcc_nonnull_all
|
gcc_pure gcc_nonnull_all
|
||||||
static AllocatedPath FromUTF8(const char *path_utf8);
|
static AllocatedPath FromUTF8(const char *path_utf8);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert a UTF-8 C string to an #AllocatedPath instance.
|
||||||
|
* Throws a std::runtime_error on error.
|
||||||
|
*/
|
||||||
|
gcc_pure gcc_nonnull_all
|
||||||
|
static AllocatedPath FromUTF8Throw(const char *path_utf8);
|
||||||
|
|
||||||
gcc_pure gcc_nonnull_all
|
gcc_pure gcc_nonnull_all
|
||||||
static AllocatedPath FromUTF8(const char *path_utf8, Error &error);
|
static AllocatedPath FromUTF8(const char *path_utf8, Error &error);
|
||||||
|
|
||||||
|
@ -96,9 +96,7 @@ embcue_playlist_open_uri(const char *uri,
|
|||||||
/* only local files supported */
|
/* only local files supported */
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
const auto path_fs = AllocatedPath::FromUTF8(uri);
|
const auto path_fs = AllocatedPath::FromUTF8Throw(uri);
|
||||||
if (path_fs.IsNull())
|
|
||||||
return nullptr;
|
|
||||||
|
|
||||||
const auto playlist = new EmbeddedCuePlaylist();
|
const auto playlist = new EmbeddedCuePlaylist();
|
||||||
|
|
||||||
|
@ -94,9 +94,7 @@ flac_playlist_open_uri(const char *uri,
|
|||||||
/* only local files supported */
|
/* only local files supported */
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
const auto path_fs = AllocatedPath::FromUTF8(uri);
|
const auto path_fs = AllocatedPath::FromUTF8Throw(uri);
|
||||||
if (path_fs.IsNull())
|
|
||||||
return nullptr;
|
|
||||||
|
|
||||||
const NarrowPath narrow_path_fs(path_fs);
|
const NarrowPath narrow_path_fs(path_fs);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user