summaryrefslogtreecommitdiff
path: root/innobase/ut/ut0mem.c
diff options
context:
space:
mode:
Diffstat (limited to 'innobase/ut/ut0mem.c')
-rw-r--r--innobase/ut/ut0mem.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/innobase/ut/ut0mem.c b/innobase/ut/ut0mem.c
index c367ea10ee1..f7c0e1be9bd 100644
--- a/innobase/ut/ut0mem.c
+++ b/innobase/ut/ut0mem.c
@@ -258,3 +258,51 @@ ut_str_catenate(
return(str);
}
+
+/**************************************************************************
+Checks if a null-terminated string contains a certain character. */
+
+ibool
+ut_str_contains(
+/*============*/
+ char* str, /* in: null-terminated string */
+ char c) /* in: character */
+{
+ ulint len;
+ ulint i;
+
+ len = ut_strlen(str);
+
+ for (i = 0; i < len; i++) {
+ if (str[i] == c) {
+
+ return(TRUE);
+ }
+ }
+
+ return(FALSE);
+}
+
+/**************************************************************************
+Return a copy of the given string. The returned string must be freed
+using mem_free. */
+
+char*
+ut_strdup(
+/*======*/
+ /* out, own: cnull-terminated string */
+ char* str) /* in: null-terminated string */
+{
+ ulint len;
+ char* copy;
+
+ len = ut_strlen(str);
+
+ copy = mem_alloc(len + 1);
+
+ ut_memcpy(copy, str, len);
+
+ copy[len] = 0;
+
+ return(copy);
+}