aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/common
diff options
context:
space:
mode:
authorGravatar bunnei <bunneidev@gmail.com>2015-05-08 21:20:37 -0400
committerGravatar bunnei <bunneidev@gmail.com>2015-05-08 21:20:37 -0400
commit917ac23dfcab37c65e11e3413e397863bd4bc000 (patch)
tree956ca5d1a4aad3383c4a3bfc9103476abe3f1987 /src/common
parent162206819801eb45ee35c94fb995c4cb94db487d (diff)
parent7c50b999fa266ad1b3db422e4281f38648c362c9 (diff)
Merge pull request #731 from yuriks/app-info
Kernel: Process class and ExHeader caps parsing
Diffstat (limited to 'src/common')
-rw-r--r--src/common/common_funcs.h2
-rw-r--r--src/common/string_util.cpp8
-rw-r--r--src/common/string_util.h6
3 files changed, 16 insertions, 0 deletions
diff --git a/src/common/common_funcs.h b/src/common/common_funcs.h
index 91b74c6b..fde0f3a5 100644
--- a/src/common/common_funcs.h
+++ b/src/common/common_funcs.h
@@ -15,6 +15,8 @@
#define b32(x) (b16(x) | (b16(x) >>16) )
#define ROUND_UP_POW2(x) (b32(x - 1) + 1)
+#define BIT(x) (1U << (x))
+
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
/// Textually concatenates two tokens. The double-expansion is required by the C preprocessor.
diff --git a/src/common/string_util.cpp b/src/common/string_util.cpp
index 3a6e51da..7dc0ba7b 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 356da5b6..fdc41049 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);
+
}