diff options
author | V Narayanan <v.narayanan@sun.com> | 2009-07-17 14:25:09 +0530 |
---|---|---|
committer | V Narayanan <v.narayanan@sun.com> | 2009-07-17 14:25:09 +0530 |
commit | 54aecee9c0a82ea376eb270a3529a0a97a1f113c (patch) | |
tree | eb882980f87d87818f41202b571dd948870f38e4 /mysys | |
parent | 28e66cdd8151cdee1a58519e39896164d6e3da0d (diff) | |
parent | b228fee28c2156c90847aa750c0daf672a6f09e0 (diff) | |
download | mariadb-git-54aecee9c0a82ea376eb270a3529a0a97a1f113c.tar.gz |
merging with mysql-5.0-bugteam
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/array.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/mysys/array.c b/mysys/array.c index 92940717c90..b65bd28616d 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 */ @@ -63,12 +63,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 (!(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); } |