diff options
author | monty@mishka.local <> | 2004-04-26 15:53:31 +0300 |
---|---|---|
committer | monty@mishka.local <> | 2004-04-26 15:53:31 +0300 |
commit | 21fd1d270eb58fa95551bb6e37ecef5a30785929 (patch) | |
tree | 25e3315af05fa92d20d2ad1d812882957c400337 /innobase/ut/ut0mem.c | |
parent | 7d9a9fd93ac4622d596920169a6d6afbd787c377 (diff) | |
parent | 7d3e633edc5db31c0698660ed644d7a18faea41c (diff) | |
download | mariadb-git-21fd1d270eb58fa95551bb6e37ecef5a30785929.tar.gz |
Merge with 4.0
Diffstat (limited to 'innobase/ut/ut0mem.c')
-rw-r--r-- | innobase/ut/ut0mem.c | 73 |
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. */ |