summaryrefslogtreecommitdiff
path: root/innobase/ut/ut0mem.c
diff options
context:
space:
mode:
authormonty@mishka.local <>2004-04-26 15:53:31 +0300
committermonty@mishka.local <>2004-04-26 15:53:31 +0300
commit21fd1d270eb58fa95551bb6e37ecef5a30785929 (patch)
tree25e3315af05fa92d20d2ad1d812882957c400337 /innobase/ut/ut0mem.c
parent7d9a9fd93ac4622d596920169a6d6afbd787c377 (diff)
parent7d3e633edc5db31c0698660ed644d7a18faea41c (diff)
downloadmariadb-git-21fd1d270eb58fa95551bb6e37ecef5a30785929.tar.gz
Merge with 4.0
Diffstat (limited to 'innobase/ut/ut0mem.c')
-rw-r--r--innobase/ut/ut0mem.c73
1 files changed, 45 insertions, 28 deletions
diff --git a/innobase/ut/ut0mem.c b/innobase/ut/ut0mem.c
index f7c0e1be9bd..9d0e63e6099 100644
--- a/innobase/ut/ut0mem.c
+++ b/innobase/ut/ut0mem.c
@@ -107,7 +107,7 @@ ut_malloc_low(
/* Make an intentional seg fault so that we get a stack
trace */
- printf("%lu\n", (ulong) *ut_mem_null_ptr);
+ if (*ut_mem_null_ptr) ut_mem_null_ptr = 0;
}
if (set_to_zero) {
@@ -232,6 +232,49 @@ ut_free_all_mem(void)
}
/**************************************************************************
+Make a quoted copy of a string. */
+
+char*
+ut_strcpyq(
+/*=======*/
+ /* out: pointer to end of dest */
+ char* dest, /* in: output buffer */
+ char q, /* in: the quote character */
+ const char* src) /* in: null-terminated string */
+{
+ while (*src) {
+ if ((*dest++ = *src++) == q) {
+ *dest++ = q;
+ }
+ }
+
+ return(dest);
+}
+
+/**************************************************************************
+Make a quoted copy of a fixed-length string. */
+
+char*
+ut_memcpyq(
+/*=======*/
+ /* out: pointer to end of dest */
+ char* dest, /* in: output buffer */
+ char q, /* in: the quote character */
+ const char* src, /* in: string to be quoted */
+ ulint len) /* in: length of src */
+{
+ const char* srcend = src + len;
+
+ while (src < srcend) {
+ if ((*dest++ = *src++) == q) {
+ *dest++ = q;
+ }
+ }
+
+ return(dest);
+}
+
+/**************************************************************************
Catenates two strings into newly allocated memory. The memory must be freed
using mem_free. */
@@ -252,38 +295,12 @@ ut_str_catenate(
str = mem_alloc(len1 + len2 + 1);
ut_memcpy(str, str1, len1);
- ut_memcpy(str + len1, str2, len2);
-
- str[len1 + len2] = '\0';
+ ut_memcpy(str + len1, str2, len2 + 1);
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. */