diff options
Diffstat (limited to 'src/common/fs')
| -rw-r--r-- | src/common/fs/fs_util.cpp | 4 | ||||
| -rw-r--r-- | src/common/fs/fs_util.h | 11 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/common/fs/fs_util.cpp b/src/common/fs/fs_util.cpp index 357cf5855..9f8671982 100644 --- a/src/common/fs/fs_util.cpp +++ b/src/common/fs/fs_util.cpp | |||
| @@ -20,6 +20,10 @@ std::string ToUTF8String(std::u8string_view u8_string) { | |||
| 20 | return std::string{u8_string.begin(), u8_string.end()}; | 20 | return std::string{u8_string.begin(), u8_string.end()}; |
| 21 | } | 21 | } |
| 22 | 22 | ||
| 23 | std::string BufferToUTF8String(std::span<const u8> buffer) { | ||
| 24 | return std::string{buffer.begin(), std::ranges::find(buffer, u8{0})}; | ||
| 25 | } | ||
| 26 | |||
| 23 | std::string PathToUTF8String(const std::filesystem::path& path) { | 27 | std::string PathToUTF8String(const std::filesystem::path& path) { |
| 24 | return ToUTF8String(path.u8string()); | 28 | return ToUTF8String(path.u8string()); |
| 25 | } | 29 | } |
diff --git a/src/common/fs/fs_util.h b/src/common/fs/fs_util.h index ec9950ee7..1ec82eb35 100644 --- a/src/common/fs/fs_util.h +++ b/src/common/fs/fs_util.h | |||
| @@ -47,6 +47,17 @@ concept IsChar = std::same_as<T, char>; | |||
| 47 | [[nodiscard]] std::string ToUTF8String(std::u8string_view u8_string); | 47 | [[nodiscard]] std::string ToUTF8String(std::u8string_view u8_string); |
| 48 | 48 | ||
| 49 | /** | 49 | /** |
| 50 | * Converts a buffer of bytes to a UTF8-encoded std::string. | ||
| 51 | * This converts from the start of the buffer until the first encountered null-terminator. | ||
| 52 | * If no null-terminator is found, this converts the entire buffer instead. | ||
| 53 | * | ||
| 54 | * @param buffer Buffer of bytes | ||
| 55 | * | ||
| 56 | * @returns UTF-8 encoded std::string. | ||
| 57 | */ | ||
| 58 | [[nodiscard]] std::string BufferToUTF8String(std::span<const u8> buffer); | ||
| 59 | |||
| 60 | /** | ||
| 50 | * Converts a filesystem path to a UTF-8 encoded std::string. | 61 | * Converts a filesystem path to a UTF-8 encoded std::string. |
| 51 | * | 62 | * |
| 52 | * @param path Filesystem path | 63 | * @param path Filesystem path |