diff options
author | unknown <monty@donna.mysql.com> | 2001-01-08 00:04:30 +0200 |
---|---|---|
committer | unknown <monty@donna.mysql.com> | 2001-01-08 00:04:30 +0200 |
commit | fc4a3ef7c11446ba1159e4873c3323d6fa2fcc60 (patch) | |
tree | 500feaf42e43ee02e3822a280b03319bcd8f3abe /mysys/string.c | |
parent | 92a3aedc05dd07e1d00986f237a2097af595e584 (diff) | |
download | mariadb-git-fc4a3ef7c11446ba1159e4873c3323d6fa2fcc60.tar.gz |
Fixed bug when having many binary log files
Fixed bug when deleting keys with possible NULL values
many changes to mysqltest
Docs/Makefile.am:
Don't print warnings when making ..dvi
Docs/manual.texi:
Documented changes
acinclude.m4:
Fixed bug in detecting BDB version 3.2.3g
client/mysqltest.c:
Added TODO
Cleanups
Free all memory and close all files on exit
configure.in:
New release
include/my_sys.h:
Added new function needed for mysqltest.c
myisam/mi_create.c:
Cleanup
myisam/mi_delete.c:
Fixed bug when deleting keys with NULL
myisam/mi_search.c:
cleanup
myisam/myisamchk.c:
Added info about fulltext to -D
mysql-test/mysql-test-run.sh:
Use less memory for mysqld
Don't remove timefile if only testing one test
Send option --debug to mysqltest
mysql-test/r/fulltext.result:
New tests
mysql-test/r/func_math.result:
Make test portable
mysql-test/t/fulltext.test:
New tests
mysql-test/t/func_math.test:
Make test portable
mysys/mf_iocache2.c:
Fixed bug when reading over buffers
mysys/string.c:
Added new function needed for mysqltest.c
mysys/typelib.c:
cleanup
scripts/make_binary_distribution.sh:
Added option suffix
Removed some warnings for missing files
scripts/mysql_install_db.sh:
Fixed type
scripts/safe_mysqld.sh:
Also read options from 'server' group
sql-bench/Results/ATIS-mysql-Linux_2.2.13_SMP_alpha:
New benchmark run
sql-bench/Results/RUN-mysql-Linux_2.2.13_SMP_alpha:
New benchmark run
sql-bench/Results/alter-table-mysql-Linux_2.2.13_SMP_alpha:
New benchmark run
sql-bench/Results/big-tables-mysql-Linux_2.2.13_SMP_alpha:
New benchmark run
sql-bench/Results/connect-mysql-Linux_2.2.13_SMP_alpha:
New benchmark run
sql-bench/Results/create-mysql-Linux_2.2.13_SMP_alpha:
New benchmark run
sql-bench/Results/insert-mysql-Linux_2.2.13_SMP_alpha:
New benchmark run
sql-bench/Results/select-mysql-Linux_2.2.13_SMP_alpha:
New benchmark run
sql-bench/Results/wisconsin-mysql-Linux_2.2.13_SMP_alpha:
New benchmark run
sql-bench/bench-init.pl.sh:
Added missing option '--silent'
sql/mysqld.cc:
Added warnings
Print backtraces even if 'current_thd' is not active
support-files/mysql.spec.sh:
Removed duplicate entry
Diffstat (limited to 'mysys/string.c')
-rw-r--r-- | mysys/string.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/mysys/string.c b/mysys/string.c index 0696c72b922..96a503c1179 100644 --- a/mysys/string.c +++ b/mysys/string.c @@ -48,6 +48,7 @@ my_bool init_dynamic_string(DYNAMIC_STRING *str, const char *init_str, DBUG_RETURN(FALSE); } + my_bool dynstr_set(DYNAMIC_STRING *str, const char *init_str) { uint length; @@ -72,6 +73,7 @@ my_bool dynstr_set(DYNAMIC_STRING *str, const char *init_str) DBUG_RETURN(FALSE); } + my_bool dynstr_realloc(DYNAMIC_STRING *str, ulong additional_size) { DBUG_ENTER("dynstr_realloc"); @@ -90,11 +92,17 @@ my_bool dynstr_realloc(DYNAMIC_STRING *str, ulong additional_size) my_bool dynstr_append(DYNAMIC_STRING *str, const char *append) { + return dynstr_append_mem(str,append,strlen(append)); +} + + +my_bool dynstr_append_mem(DYNAMIC_STRING *str, const char *append, + uint length) +{ char *new_ptr; - uint length=(uint) strlen(append)+1; - if (str->length+length > str->max_length) + if (str->length+length >= str->max_length) { - uint new_length=(str->length+length+str->alloc_increment-1)/ + uint new_length=(str->length+length+str->alloc_increment)/ str->alloc_increment; new_length*=str->alloc_increment; if (!(new_ptr=(char*) my_realloc(str->str,new_length,MYF(MY_WME)))) @@ -103,10 +111,12 @@ my_bool dynstr_append(DYNAMIC_STRING *str, const char *append) str->max_length=new_length; } memcpy(str->str + str->length,append,length); - str->length+=length-1; + str->length+=length; + str->str[str->length]=0; /* Safety for C programs */ return FALSE; } + void dynstr_free(DYNAMIC_STRING *str) { if (str->str) |