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

CVS commit cvs w toxygen.net
Czw, 3 Maj 2007, 14:45:05 CEST


Module name:	ekg2
Changes by:	darkjames	2007-05-03 14:45:03

Modified files:
	sessions.c

Log message:
like above.

Index: sessions.c
===================================================================
RCS file: /home/cvs/ekg2/ekg/sessions.c,v
diff -d -u -r1.126 -r1.127
--- sessions.c	3 May 2007 11:40:38 -0000	1.126
+++ sessions.c	3 May 2007 12:45:03 -0000	1.127
@@ -766,14 +766,13 @@
 
 		for (l = plugins; l; l = l->next) {
 			plugin_t *p = l->data;
-			char *tmp;
+			const char *tmp;
 
 			if (!p || p->pclass != PLUGIN_PROTOCOL)
 				continue;
 
-			tmp = saprintf("sessions-%s", p->name);
-			ret = session_read(prepare_path(tmp, 0));
-			xfree(tmp);
+			if ((tmp = prepare_sapath("sessions-%s", p->name)))
+				session_read(tmp);
 		}
 		return ret;
 	}
@@ -830,23 +829,26 @@
 	FILE *f = NULL;
 	int ret = 0;
 
+	if (!prepare_path(NULL, 1))	/* try to create ~/.ekg2 */
+		return -1;
+
 	for (l = plugins; l; l = l->next) {
 		plugin_t *p = l->data;
-		char *tmp;
+		const char *tmp;
 
 		if (p->pclass != PLUGIN_PROTOCOL) continue; /* skip no protocol plugins */
-		
-		tmp = saprintf("sessions-%s", p->name);
 
-                if (!(f = fopen(prepare_path(tmp, 1), "w"))) {
+		if (!(tmp = prepare_sapath("sessions-%s", p->name))) {
+			ret = -1;
+			continue;
+		}
+		
+                if (!(f = fopen(tmp, "w"))) {
                         debug("Error opening file %s\n", tmp);
-                        xfree(tmp);
 			ret = -1;
 			continue;
                 }
 
-                xfree(tmp);
-
 		for (ls = sessions; ls; ls = ls->next) {
 			session_t *s = ls->data;
 			int i;
@@ -879,10 +881,8 @@
 			}
 			/* We don't save _local_ variables */
 		}
-
 		fclose(f);
 	}
-
 	return ret;
 }
 


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