diff options
author | Sergey Petrunya <psergey@askmonty.org> | 2009-09-08 00:50:10 +0400 |
---|---|---|
committer | Sergey Petrunya <psergey@askmonty.org> | 2009-09-08 00:50:10 +0400 |
commit | 29f0dcb56337a3e352ad7a70dcff6b25bb605325 (patch) | |
tree | 84935c21dc958724ae7dcbeeca0c0f08986fc430 /mysys/array.c | |
parent | 915a624cbcb58a10a2cfb2e2e4fd5029191fa86a (diff) | |
parent | 8a2454f8e9fce648272577fcf8006ae6e6806cf9 (diff) | |
download | mariadb-git-29f0dcb56337a3e352ad7a70dcff6b25bb605325.tar.gz |
Merge MySQL->MariaDB
* Finished Monty and Jani's merge
* Some InnoDB tests still fail (because it's old xtradb code run against
newer testsuite). They are expected to go after mergning with the latest
xtradb.
Diffstat (limited to 'mysys/array.c')
-rw-r--r-- | mysys/array.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/mysys/array.c b/mysys/array.c index 62d6b1ed4e9..743bf4ef302 100644 --- a/mysys/array.c +++ b/mysys/array.c @@ -32,11 +32,11 @@ DESCRIPTION init_dynamic_array() initiates array and allocate space for init_alloc eilements. - Array is usable even if space allocation failed. + Array is usable even if space allocation failed, hence, the + function never returns TRUE. Static buffers must begin immediately after the array structure. RETURN VALUE - TRUE my_malloc_ci() failed FALSE Ok */ @@ -57,13 +57,12 @@ my_bool init_dynamic_array2(DYNAMIC_ARRAY *array, uint element_size, array->size_of_element=element_size; if ((array->buffer= init_buffer)) DBUG_RETURN(FALSE); - if (init_alloc && - !(array->buffer=(uchar*) my_malloc_ci(element_size*init_alloc, - MYF(MY_WME)))) - { + /* + Since the dynamic array is usable even if allocation fails here malloc + should not throw an error + */ + if (!(array->buffer= (char*) my_malloc_ci(element_size*init_alloc, MYF(0)))) array->max_element=0; - DBUG_RETURN(TRUE); - } DBUG_RETURN(FALSE); } |