list_reset(list);
- while(list->current!=NULL) {
- if(first_bytes<=list->current->data_len)
- if(!(memcmp(list->current->data,data,first_bytes))) return L_SUCCESS;
- list_next(list);
+ if(list->start==NULL) {
+ dprintf(list->outfd,"[list] empty list\n");
+ return L_EMPTY_LIST;
}
+ do {
+ if(list->current!=NULL)
+ if(first_bytes<=list->current->data_len)
+ if(!(memcmp(list->current->data,data,first_bytes))) return L_SUCCESS;
+ } while(list_next(list)!=L_NO_NEXT_ELEMENT);
+
return L_NO_SUCH_ELEMENT;
}
memcpy(list->current->next->data,data,data_len);
list->current->next->data_len=data_len;
+ list->current=list->current->next;
+
dprintf(list->outfd,"[list] element added\n");
return L_SUCCESS;
list->start->next=NULL;
list->start->prev=NULL;
+ list->current=list->start;
+
dprintf(list->outfd,"[list] added initial element\n");
return L_SUCCESS;
list_reset(list);
if(list->current!=NULL) count++;
- while(list_next(list)!=L_NO_NEXT_ELEMENT) count++;
+ if(count) while(list_next(list)!=L_NO_NEXT_ELEMENT) count++;
return count;
}