diff options
author | Yuri Kunde Schlesner <[email protected]> | 2015-05-06 21:32:52 -0300 |
---|---|---|
committer | Yuri Kunde Schlesner <[email protected]> | 2015-05-08 03:03:06 -0300 |
commit | 8809d02db350960fc7824f5ae5bc161960910fd9 (patch) | |
tree | 0b96738d281f5a8c5807ead73b7570e0e931701e | |
parent | 0f39cc359b1fa1645faa91253f98861fc764b395 (diff) | |
download | yuzu-mainline-8809d02db350960fc7824f5ae5bc161960910fd9.tar.gz yuzu-mainline-8809d02db350960fc7824f5ae5bc161960910fd9.zip |
Common: Add StringFromFixedZeroTerminatedBuffer
-rw-r--r-- | src/common/string_util.cpp | 8 | ||||
-rw-r--r-- | src/common/string_util.h | 6 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/common/string_util.cpp b/src/common/string_util.cpp index 3a6e51daa..7dc0ba7ba 100644 --- a/src/common/string_util.cpp +++ b/src/common/string_util.cpp @@ -477,4 +477,12 @@ std::string SHIFTJISToUTF8(const std::string& input) #endif +std::string StringFromFixedZeroTerminatedBuffer(const char * buffer, size_t max_len) { + size_t len = 0; + while (len < max_len && buffer[len] != '\0') + ++len; + + return std::string(buffer, len); +} + } diff --git a/src/common/string_util.h b/src/common/string_util.h index 356da5b60..fdc410499 100644 --- a/src/common/string_util.h +++ b/src/common/string_util.h @@ -128,4 +128,10 @@ bool ComparePartialString(InIt begin, InIt end, const char* other) { return (begin == end) == (*other == '\0'); } +/** + * Creates a std::string from a fixed-size NUL-terminated char buffer. If the buffer isn't + * NUL-terminated then the string ends at max_len characters. + */ +std::string StringFromFixedZeroTerminatedBuffer(const char* buffer, size_t max_len); + } |