[ekg2-commit] ekg2: events.c (HEAD) [darkjames]

CVS commit cvs w toxygen.net
Czw, 22 Lis 2007, 17:29:46 CET


Module name:	ekg2
Changes by:	darkjames	2007-11-22 17:29:44

Modified files:
	events.c

Log message:
struct event list_t, and like previous patch.

Index: events.c
===================================================================
RCS file: /home/cvs/ekg2/ekg/events.c,v
diff -d -u -r1.53 -r1.54
--- events.c	25 Oct 2007 13:48:08 -0000	1.53
+++ events.c	22 Nov 2007 16:29:44 -0000	1.54
@@ -182,6 +182,13 @@
 	return 0;
 }
 
+LIST_FREE_ITEM(list_event_free, struct event *) {
+	xfree(data->name);
+	xfree(data->action);
+	xfree(data->target);
+	xfree(data);
+}
+
 /* 
  * event_remove ()
  * 
@@ -205,12 +212,8 @@
 		printq("events_del_noexist", itoa(id));
 		return -1;
 	}
-	
-        xfree(ev->name);
-        xfree(ev->action);
-        xfree(ev->target);
-	
-	list_remove(&events, ev, 1);
+
+	LIST_REMOVE(&events, list_event_free);
 
 	printq("events_del", itoa(id));
 
@@ -221,6 +224,25 @@
 }
 
 /* 
+ * event_free ()
+ *
+ * it frees whole list 
+ */
+void event_free()
+{
+	list_t l;
+
+	xfree(events_all);
+	events_all = NULL;
+
+	if (!events)
+		return;
+
+	LIST_DESTROY(events, list_event_free);
+	events = NULL;
+}
+
+/* 
  * events_list ()
  * 
  * it shows the list of events 
@@ -612,32 +634,6 @@
         return 0;
 }
 
-/* 
- * event_free ()
- *
- * it frees whole list 
- */
-void event_free()
-{
-	list_t l;
-
-	xfree(events_all);
-	events_all = NULL;
-
-	if (!events)
-		return;
-
-	for (l = events; l; ) {
-		struct event *e = l->data;
-
-		l = l->next;
-
-		event_remove(e->id, 1);
-	}
-	list_destroy(events, 1);
-	events = NULL;
-}
-
 /*
  * event_target_check_compare()
  *


Więcej informacji o liście dyskusyjnej ekg2-commit