int list_next(t_list *list) {
+ if(list->current->next==NULL) return L_NO_NEXT_ELEMENT;
+
list->current=list->current->next;
return L_SUCCESS;
return L_SUCCESS;
}
+int list_del_current(t_list *list) {
+
+ return(list_del_element(list,list->current));
+}
+
int list_destroy(t_list *list) {
if(list->start==NULL) {
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;
}
list_reset(list);
- while(list->current!=NULL) {
- list_next(list);
- ++count;
- }
+ if(list->current!=NULL) count++;
+ if(count) while(list_next(list)!=L_NO_NEXT_ELEMENT) count++;
return count;
}