Просмотр исходного кода

Common: Add StringFromFixedZeroTerminatedBuffer

Yuri Kunde Schlesner 11 лет назад
Родитель
Сommit
8809d02db3
2 измененных файлов с 14 добавлено и 0 удалено
  1. 8 0
      src/common/string_util.cpp
  2. 6 0
      src/common/string_util.h

+ 8 - 0
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);
+}
+
 }

+ 6 - 0
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);
+
 }