[ekg2-commit] ekg2: drafts.c (HEAD) jogger.c (HEAD) [peres]

CVS commit cvs w toxygen.net
Nie, 6 Maj 2007, 18:34:17 CEST


Module name:	ekg2
Changes by:	peres	2007-05-06 18:34:14

Modified files:
	drafts.c jogger.c

Log message:
Remember last-used entry file.

Index: drafts.c
===================================================================
RCS file: /home/cvs/ekg2/plugins/jogger/drafts.c,v
diff -d -u -r1.10 -r1.11
--- drafts.c	6 May 2007 15:53:57 -0000	1.10
+++ drafts.c	6 May 2007 16:34:14 -0000	1.11
@@ -185,12 +185,18 @@
 #define WARN_PRINT(x) do { if (!outstarted) { outstarted++; print("jogger_warning"); } print(x, tmp); } while (0)
 
 COMMAND(jogger_prepare) {
+	const char *fn		= (params[0] ? params[0] : session_get(session, "entry_file"));
 	int fd, fs, len;
 	char *entry, *s, *hash;
-	int seen = 0;
-	int outstarted = 0;
+	int seen		= 0;
+	int outstarted		= 0;
 
-	if (!(entry = jogger_openfile(prepare_path_user(params[0]), &fd, &fs, &len, &hash)))
+	if (!fn) {
+		printq("invalid_params", name);
+		return -1;
+	}
+
+	if (!(entry = jogger_openfile(prepare_path_user(fn), &fd, &fs, &len, &hash)))
 		return -1;
 	s = entry;
 
@@ -308,9 +314,10 @@
 	}
 
 	jogger_closefile(fd, entry, fs);
-	session_set(session, "entry_file", params[0]);
+	if (params[0])
+		session_set(session, "entry_file", params[0]);
 	session_set(session, "entry_hash", hash);
-	printq("jogger_prepared", params[0]);
+	printq("jogger_prepared", fn);
 	return 0;
 }
 
@@ -325,7 +332,7 @@
 		return -1;
 	}
 
-	if (!(entry = jogger_openfile(prepare_path_user(fn), &fd, &fs, NULL, (oldhash ? &hash : NULL))))
+	if (!(entry = jogger_openfile(prepare_path_user(fn), &fd, &fs, NULL, &hash)))
 		return -1;
 	if (oldhash && xstrcmp(oldhash, hash)) {
 		print("jogger_hashdiffers");
@@ -337,6 +344,9 @@
 	command_exec("jogger:", session, entry, 0);
 
 	jogger_closefile(fd, entry, fs);
-	session_set(session, "entry_file", NULL);	/* XXX: reset always or only if using it? */
+	if (!oldhash) {
+		session_set(session, "entry_hash", hash);
+		session_set(session, "entry_file", fn);
+	}
 	return 0;
 }

Index: jogger.c
===================================================================
RCS file: /home/cvs/ekg2/plugins/jogger/jogger.c,v
diff -d -u -r1.21 -r1.22
--- jogger.c	6 May 2007 15:53:57 -0000	1.21
+++ jogger.c	6 May 2007 16:34:14 -0000	1.22
@@ -286,7 +286,7 @@
 	command_add(&jogger_plugin, "jogger:connect", NULL, jogger_null, JOGGER_CMDFLAGS, NULL);
 	command_add(&jogger_plugin, "jogger:disconnect", NULL, jogger_null, JOGGER_CMDFLAGS, NULL);
 	command_add(&jogger_plugin, "jogger:msg", "!uU !", jogger_msg, JOGGER_CMDFLAGS_TARGET, NULL);
-	command_add(&jogger_plugin, "jogger:prepare", "!f", jogger_prepare, JOGGER_CMDFLAGS, NULL);
+	command_add(&jogger_plugin, "jogger:prepare", "?f", jogger_prepare, JOGGER_CMDFLAGS, NULL);
 	command_add(&jogger_plugin, "jogger:publish", "?f", jogger_publish, JOGGER_CMDFLAGS, NULL);
 	command_add(&jogger_plugin, "jogger:reconnect", NULL, jogger_null, JOGGER_CMDFLAGS, NULL);
 	command_add(&jogger_plugin, "jogger:subscribe", "!uU", jogger_subscribe, JOGGER_CMDFLAGS_TARGET, NULL);


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