summaryrefslogtreecommitdiff
path: root/innobase/pars
diff options
context:
space:
mode:
authorunknown <heikki@hundin.mysql.fi>2004-06-16 23:42:58 +0300
committerunknown <heikki@hundin.mysql.fi>2004-06-16 23:42:58 +0300
commitce4973d61619837caa946974453746e8eda29d36 (patch)
treecdb13121d261238aa31a38ad58063796455276e2 /innobase/pars
parentfce76a7644e917acbf835f728c8b452a6cf772da (diff)
downloadmariadb-git-ce4973d61619837caa946974453746e8eda29d36.tar.gz
ut0mem.h, ut0mem.c:
Implement ut_realloc lexyy.c, pars0lex.l: Start using ut_malloc, ut_free, ut_realloc in pars0lex.l and lexyy.c; mem_realloc was broken; eliminate possible memcpy(NULL, ..., 0) from string_append() innobase/pars/pars0lex.l: Start using ut_malloc, ut_free, ut_realloc in pars0lex.l and lexyy.c; mem_realloc was broken; eliminate possible memcpy(NULL, ..., 0) from string_append() innobase/pars/lexyy.c: Start using ut_malloc, ut_free, ut_realloc in pars0lex.l and lexyy.c; mem_realloc was broken; eliminate possible memcpy(NULL, ..., 0) from string_append() innobase/ut/ut0mem.c: Implement ut_realloc innobase/include/ut0mem.h: Implement ut_realloc
Diffstat (limited to 'innobase/pars')
-rw-r--r--innobase/pars/lexyy.c18
-rw-r--r--innobase/pars/pars0lex.l18
2 files changed, 18 insertions, 18 deletions
diff --git a/innobase/pars/lexyy.c b/innobase/pars/lexyy.c
index 1a2578fcf11..7d3c599b82f 100644
--- a/innobase/pars/lexyy.c
+++ b/innobase/pars/lexyy.c
@@ -636,9 +636,9 @@ Linux.
#include "mem0mem.h"
#include "os0proc.h"
-#define malloc(A) mem_alloc(A)
-#define free(A) mem_free(A)
-#define realloc(P, A) mem_realloc(P, A, __FILE__, __LINE__)
+#define malloc(A) ut_malloc(A)
+#define free(A) ut_free(A)
+#define realloc(P, A) ut_realloc(P, A)
#define exit(A) ut_error
#define YY_INPUT(buf, result, max_size) pars_get_lex_chars(buf, &result, max_size)
@@ -655,16 +655,16 @@ string_append(
const char* str, /* in: string to be appended */
ulint len) /* in: length of the string */
{
+ if (stringbuf == NULL) {
+ stringbuf = malloc(1);
+ stringbuf_len_alloc = 1;
+ }
+
if (stringbuf_len + len > stringbuf_len_alloc) {
- if (stringbuf_len_alloc == 0) {
- stringbuf_len_alloc++;
- }
while (stringbuf_len + len > stringbuf_len_alloc) {
stringbuf_len_alloc <<= 1;
}
- stringbuf = stringbuf
- ? realloc(stringbuf, stringbuf_len_alloc)
- : malloc(stringbuf_len_alloc);
+ stringbuf = realloc(stringbuf, stringbuf_len_alloc);
}
memcpy(stringbuf + stringbuf_len, str, len);
diff --git a/innobase/pars/pars0lex.l b/innobase/pars/pars0lex.l
index 0b1af554bed..4e2399613cb 100644
--- a/innobase/pars/pars0lex.l
+++ b/innobase/pars/pars0lex.l
@@ -58,9 +58,9 @@ Linux.
#include "mem0mem.h"
#include "os0proc.h"
-#define malloc(A) mem_alloc(A)
-#define free(A) mem_free(A)
-#define realloc(P, A) mem_realloc(P, A, __FILE__, __LINE__)
+#define malloc(A) ut_malloc(A)
+#define free(A) ut_free(A)
+#define realloc(P, A) ut_realloc(P, A)
#define exit(A) ut_error
#define YY_INPUT(buf, result, max_size) pars_get_lex_chars(buf, &result, max_size)
@@ -77,16 +77,16 @@ string_append(
const char* str, /* in: string to be appended */
ulint len) /* in: length of the string */
{
+ if (stringbuf == NULL) {
+ stringbuf = malloc(1);
+ stringbuf_len_alloc = 1;
+ }
+
if (stringbuf_len + len > stringbuf_len_alloc) {
- if (stringbuf_len_alloc == 0) {
- stringbuf_len_alloc++;
- }
while (stringbuf_len + len > stringbuf_len_alloc) {
stringbuf_len_alloc <<= 1;
}
- stringbuf = stringbuf
- ? realloc(stringbuf, stringbuf_len_alloc)
- : malloc(stringbuf_len_alloc);
+ stringbuf = realloc(stringbuf, stringbuf_len_alloc);
}
memcpy(stringbuf + stringbuf_len, str, len);