aboutsummaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/util')
-rw-r--r--src/util/string.cpp13
-rw-r--r--src/util/string.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/src/util/string.cpp b/src/util/string.cpp
index afe40610c..a3888c9ce 100644
--- a/src/util/string.cpp
+++ b/src/util/string.cpp
@@ -163,6 +163,19 @@ std::string writeFlagString(u32 flags, FlagDesc *flagdesc, u32 flagmask)
return result;
}
+size_t mystrlcpy(char *dst, const char *src, size_t size)
+{
+ size_t srclen = strlen(src) + 1;
+ size_t copylen = MYMIN(srclen, size);
+
+ if (copylen > 0) {
+ memcpy(dst, src, copylen);
+ dst[copylen - 1] = '\0';
+ }
+
+ return srclen;
+}
+
char *mystrtok_r(char *s, const char *sep, char **lasts)
{
char *t;
diff --git a/src/util/string.h b/src/util/string.h
index d6a9926ab..9bb89f14a 100644
--- a/src/util/string.h
+++ b/src/util/string.h
@@ -321,6 +321,7 @@ std::string urlencode(std::string str);
std::string urldecode(std::string str);
u32 readFlagString(std::string str, FlagDesc *flagdesc, u32 *flagmask);
std::string writeFlagString(u32 flags, FlagDesc *flagdesc, u32 flagmask);
+size_t mystrlcpy(char *dst, const char *src, size_t size);
char *mystrtok_r(char *s, const char *sep, char **lasts);
u64 read_seed(const char *str);