/*! Removes the item at [element] from [list] */ void ilistRemove(Ilist *list, int element) { if (list->size <= element) return; ilistShift(list, element + 1, -1); list->size--; }
/*! Removes the item at [element] from [list] */ void ilistRemove(Ilist *list, int element) { int i; char *to, *from; if (list->size <= element) return; ilistShift(list, element + 1, -1); list->size--; }
/*! * Inserts an item in [data] into [list] at the position given by [element]; * returns 1 if error */ int ilistInsert(Ilist *list, void *data, int element) { char *to; if (element < 0 || element > list->size) return 1; if (ilistAppend(list, data)) return 1; if (element == list->size - 1) return 0; ilistShift(list, element, 1); to = (char *)list->data + element * list->dsize; memcpy(to, data, list->dsize); return 0; }