[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