- if(list->method&C_NUMBER) {
- while(list->current->next!=NULL) {
- if(list->current->number==nr) return L_EXISTS;
- else list->current=list->current->next;
+ list_reset(list);
+
+ while(list->current!=NULL) list_del_element(list,list->current);
+
+ return L_SUCCESS;
+}
+
+int list_search_data(t_list *list,void *data,int first_bytes) {
+
+ list_reset(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;
+}
+
+int list_add_element(t_list *list,void *data,int data_len) {
+
+ list_reset(list);
+
+ while(list->current!=NULL) {
+ if(data_len==list->current->data_len) {
+ if(!memcmp(list->current->data,data,data_len)) {
+ dprintf(list->outfd,"[list] element already in list\n");
+ return L_ELEMENT_IN_LIST;
+ }