diff options
Diffstat (limited to 'mysys/array.c')
-rw-r--r-- | mysys/array.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/mysys/array.c b/mysys/array.c index 4ea1946d837..60f5b255e18 100644 --- a/mysys/array.c +++ b/mysys/array.c @@ -273,3 +273,28 @@ void freeze_size(DYNAMIC_ARRAY *array) array->max_element=elements; } } + + +/* + Get the index of a dynamic element + + SYNOPSIS + get_index_dynamic() + array Array + element Whose element index + +*/ + +int get_index_dynamic(DYNAMIC_ARRAY *array, gptr element) +{ + uint ret; + if (array->buffer > element) + return -1; + + ret= (element - array->buffer) / array->size_of_element; + if (ret > array->elements) + return -1; + + return ret; + +} |