diff options
Diffstat (limited to 'src/Libraries/General/StringRef.cpp')
-rw-r--r-- | src/Libraries/General/StringRef.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/Libraries/General/StringRef.cpp b/src/Libraries/General/StringRef.cpp index a05e6070..7b0840c1 100644 --- a/src/Libraries/General/StringRef.cpp +++ b/src/Libraries/General/StringRef.cpp @@ -8,6 +8,7 @@ #include "StringRef.h" #include <cstring> #include <cstdio> +#include "WMath.h" // Need to define strnlen here because it isn't ISO standard size_t strnlen(const char *s, size_t n) @@ -110,6 +111,16 @@ size_t StringRef::StripTrailingSpaces() const return slen; } +size_t StringRef::Prepend(const char *src) const +{ + const size_t slen = ::strlen(src); + const size_t dlen = strlen(); + const size_t newLen = min<size_t>(dlen + slen, len - 1); + memmove(p + slen, p, newLen - slen + 1); + memcpy(p, src, slen); + return newLen; +} + // End |