|
@@ -180,12 +180,12 @@ std::wstring UTF8ToUTF16W(const std::string& input) {
|
|
|
|
|
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
-std::string StringFromFixedZeroTerminatedBuffer(const char* buffer, std::size_t max_len) {
|
|
|
|
|
|
|
+std::string StringFromFixedZeroTerminatedBuffer(std::string_view buffer, std::size_t max_len) {
|
|
|
std::size_t len = 0;
|
|
std::size_t len = 0;
|
|
|
- while (len < max_len && buffer[len] != '\0')
|
|
|
|
|
|
|
+ while (len < buffer.length() && len < max_len && buffer[len] != '\0') {
|
|
|
++len;
|
|
++len;
|
|
|
-
|
|
|
|
|
- return std::string(buffer, len);
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ return std::string(buffer.begin(), buffer.begin() + len);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
std::u16string UTF16StringFromFixedZeroTerminatedBuffer(std::u16string_view buffer,
|
|
std::u16string UTF16StringFromFixedZeroTerminatedBuffer(std::u16string_view buffer,
|