[ekg2-commit] r3856 - trunk/ekg: trunk/ekg/events.c trunk/ekg/events.h

SVN commit svn w toxygen.net
Sob, 8 Mar 2008, 14:40:19 CET


Author: peres
Date: 2008-03-08 14:40:19 +0100 (Sat, 08 Mar 2008)
New Revision: 3856

Modified:
   trunk/ekg/events.c
   trunk/ekg/events.h
Log:

Events into list3.



Modified: trunk/ekg/events.c
===================================================================
--- trunk/ekg/events.c	2008-03-08 11:33:55 UTC (rev 3855)
+++ trunk/ekg/events.c	2008-03-08 13:40:19 UTC (rev 3856)
@@ -39,7 +39,7 @@
 
 #include "queries.h"
 
-list_t events = NULL;
+event_t *events = NULL;
 char **events_all = NULL;
 
 int config_display_day_changed = 1;
@@ -156,7 +156,6 @@
 	event_t *ev;
 	char *tmp;
 	int done = 0, id = 1;
-	list_t l;
 
 	if (event_find(name, target)) {
 		printq("events_exist", name, target);
@@ -166,8 +165,7 @@
 	while (!done) {
                 done = 1;
 
-                for (l = events; l; l = l->next) {
-			ev = l->data;
+                for (ev = events; ev; ev = ev->next) {
                         if (ev->id == id) {
                                 done = 0;
                                 id++;
@@ -175,13 +173,13 @@
                         }
                 }
         }
-	ev	= xmalloc(sizeof(event_t));
+	ev		= xmalloc(sizeof(event_t));
 	ev->id		= id;
 	ev->name 	= xstrdup(name);
 	ev->prio 	= prio;
 	ev->target 	= xstrdup(target);
 	ev->action 	= xstrdup(action);
-	LIST_ADD_SORTED(&events, ev, event_add_compare);
+	LIST_ADD_SORTED2(&events, ev, event_add_compare);
 
 	tmp = xstrdup(name);
 	query_emit_id(NULL, EVENT_ADDED, &tmp);
@@ -196,7 +194,6 @@
 	xfree(data->name);
 	xfree(data->action);
 	xfree(data->target);
-	xfree(data);
 }
 
 /* 
@@ -222,7 +219,7 @@
 		return -1;
 	}
 
-	LIST_REMOVE(&events, ev, list_event_free);
+	LIST_REMOVE2(&events, ev, list_event_free);
 
 	printq("events_del", itoa(id));
 
@@ -244,7 +241,7 @@
 	if (!events)
 		return;
 
-	LIST_DESTROY(events, list_event_free);
+	LIST_DESTROY2(events, list_event_free);
 	events = NULL;
 }
 
@@ -254,7 +251,7 @@
  * it shows the list of events 
  */
 static int events_list(int id, int quiet) {
-        list_t l;
+        event_t *ev;
 
 	if (!events) {
         	printq("events_list_empty");
@@ -263,9 +260,7 @@
 
 	printq("events_list_header");
 
-	for (l = events; l; l = l->next) {
-	        event_t *ev = l->data;
-
+	for (ev = events; ev; ev = ev->next) {
 		if (!id || id == ev->id)
 	                printq("events_list", ev->name, itoa(ev->prio), ev->target, ev->action, itoa(ev->id));
         }
@@ -281,16 +276,14 @@
  *
  */
 event_t *event_find(const char *name, const char *target) {
-	list_t l;
-	event_t *ev_max = NULL;
+	event_t *ev, *ev_max = NULL;
 	int ev_max_prio = 0;
 	char **b, **c;
 
 	debug("// event_find (name (%s), target (%s)\n", name, target);
 	b = array_make(target, ("|,;"), 0, 1, 0);
 	c = array_make(name, ("|,;"), 0, 1, 0);
-	for (l = events; l; l = l->next) {
-		event_t *ev = l->data;
+	for (ev = events; ev; ev = ev->next) {
 		char **a, **d;
 		int i, j, k, m;
 
@@ -328,16 +321,14 @@
  *
  */
 static event_t *event_find_all(const char *name, const char *session, const char *uid, const char *target, const char *data) {
-	list_t l;
-	event_t *ev_max = NULL;
+	event_t *ev, *ev_max = NULL;
 	int ev_max_prio = 0;
 	char **b, **c;
 
 //	debug("// event_find_all (session %s) (name (%s), target (%s)\n", session, name, target);
 	b = array_make(target, ("|,;"), 0, 1, 0);
 	c = array_make(name, ("|,;"), 0, 1, 0);
-	for (l = events; l; l = l->next) {
-		event_t *ev = l->data;
+	for (ev = events; ev; ev = ev->next) {
 		char **a, **d;
 		int i, j, k, m;
 
@@ -380,11 +371,9 @@
  *
  */
 static event_t *event_find_id(unsigned int id) {
-        list_t l;
+	event_t *ew;
 
-        for (l = events; l; l = l->next) {
-                event_t *ew = l->data;
-
+        for (ew = events; ew; ew = ew->next) {
                 if (ew->id != id)
                         continue;
                 else

Modified: trunk/ekg/events.h
===================================================================
--- trunk/ekg/events.h	2008-03-08 11:33:55 UTC (rev 3855)
+++ trunk/ekg/events.h	2008-03-08 13:40:19 UTC (rev 3856)
@@ -25,6 +25,8 @@
 #include "stuff.h"
 
 typedef struct event {
+	struct event *next;
+
 	unsigned int id; /* identyficator */
 	char *name;     /* name of the event */
 	char *target;   /* uid(s), alias(es), group(s) */
@@ -32,7 +34,7 @@
 	int prio;	/* priority of this event */
 } event_t;
 
-extern list_t events;
+extern event_t *events;
 extern char **events_all; /* it may be help for tab complete */
 
 int event_add(const char *name, int prio, const char *target, const char *action, int quiet);



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