Exemple #1
0
/*! 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--;
}
Exemple #2
0
/*! 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--;
}
Exemple #3
0
/*!
 * 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;
}