1
0
mirror of https://github.com/gryf/wmaker.git synced 2026-01-31 04:55:54 +01:00

WMArray class is almost ready.

This commit is contained in:
dan
2000-09-19 02:05:45 +00:00
parent 85702115f3
commit 468f578345

View File

@@ -77,20 +77,22 @@ WMFreeArray(WMArray *array)
} }
int void*
WMReplaceArrayElement(WMArray *array, unsigned int index, void *data) WMReplaceInArray(WMArray *array, unsigned int index, void *data)
{ {
void *old;
wassertrv(index > array->length, 0); wassertrv(index > array->length, 0);
if (index == array->length) if (index == array->length) {
return WMArrayAppend(array, data); WMArrayAppend(array, data);
return NULL;
if (array->destructor) {
array->destructor(array->items[index]);
} }
old = array->items[index];
array->items[index] = data; array->items[index] = data;
return 1; return old;
} }
@@ -174,11 +176,11 @@ WMDeleteFromArray(WMArray *array, unsigned index)
void* void*
WMArrayPop(WMArray *array) WMArrayPop(WMArray *array)
{ {
void *d = WMGetArrayElement(array, array->length-1); void *last = array->items[length-1];
removeFromArray(array, array->length-1); removeFromArray(array, array->length-1);
return d; return last;
} }