[Kazehakase-cvs] CVS update: kazehakase/src

Back to archive index

Kouhei Sutou kous****@users*****
Sun Dec 31 22:56:00 JST 2006


Index: kazehakase/src/kz-migemo.c
diff -u kazehakase/src/kz-migemo.c:1.1 kazehakase/src/kz-migemo.c:1.2
--- kazehakase/src/kz-migemo.c:1.1	Sun Dec 31 22:19:38 2006
+++ kazehakase/src/kz-migemo.c	Sun Dec 31 22:56:00 2006
@@ -40,15 +40,31 @@
 KzMigemo *
 kz_migemo_new (void)
 {
-	KzMigemo *migemo = NULL;
+	KzMigemo *migemo;
+	migemo = g_new0(KzMigemo, 1);
+	return migemo;
+}
+
+void
+kz_migemo_free (KzMigemo *migemo)
+{
+	if (migemo)
+	{
+		if (migemo->pid)
+			g_spawn_close_pid(migemo->pid);
+		g_free(migemo);
+	}
+}
+
+static gboolean
+kz_migemo_run_command(KzMigemo *migemo)
+{
 	gboolean ret;
 	GSpawnFlags flags;
 	gint argc;
 	gchar **argv = NULL;
 	gchar *migemo_command;
 
-	migemo = g_new0(KzMigemo, 1);
-
 	migemo_command = KZ_CONF_GET_STR("Global", "migemo_command");
 	if (!migemo_command)
 		migemo_command = g_strdup(MIGEMO_DEFAULT_COMMAND);
@@ -73,23 +89,7 @@
 	g_strfreev(argv);
 	g_free(migemo_command);
 
-	if (!ret)
-	{
-		g_free(migemo);
-		migemo = NULL;
-	}
-
-	return migemo;
-}
-
-void
-kz_migemo_free (KzMigemo *migemo)
-{
-	if (migemo)
-	{
-		g_spawn_close_pid(migemo->pid);
-		g_free(migemo);
-	}
+	return ret;
 }
 
 gchar *
@@ -106,6 +106,9 @@
 	g_return_val_if_fail(migemo, NULL);
 	g_return_val_if_fail(text, NULL);
 
+	if (!migemo->pid && !kz_migemo_run_command(migemo))
+		return NULL;
+
 	if (strlen(text) > MIGEMO_MAX_LENGTH)
 		return NULL;
 


More information about the Kazehakase-cvs mailing list
Back to archive index