aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--ChangeLog.ja4
-rw-r--r--src/template.c6
3 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5eb0568b..80c0ed4c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2005-01-28
+ * src/template.c: template_write_config(): fixed a memory leak.
+
+2005-01-28
+
* src/compose.c: removed redundant code for Ctrl-Enter handling
(not required for GTK2).
diff --git a/ChangeLog.ja b/ChangeLog.ja
index 5b011e76..e346a0d7 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,5 +1,9 @@
2005-01-28
+ * src/template.c: template_write_config(): メモリリークを修正。
+
+2005-01-28
+
* src/compose.c: Ctrl-Enter の処理のための無駄なコードを削除
(GTK2 には不要)。
diff --git a/src/template.c b/src/template.c
index ddfb2b5f..5402be67 100644
--- a/src/template.c
+++ b/src/template.c
@@ -133,7 +133,8 @@ GSList *template_read_config(void)
while ((de = readdir(dp)) != NULL) {
if (*de->d_name == '.') continue;
- filename = g_strconcat(path, G_DIR_SEPARATOR_S, de->d_name, NULL);
+ filename = g_strconcat(path, G_DIR_SEPARATOR_S,
+ de->d_name, NULL);
if (stat(filename, &s) != 0 || !S_ISREG(s.st_mode) ) {
debug_print("%s:%d %s is not an ordinary file\n",
@@ -144,6 +145,7 @@ GSList *template_read_config(void)
tmpl = template_load(filename);
if (tmpl)
tmpl_list = g_slist_append(tmpl_list, tmpl);
+
g_free(filename);
}
@@ -199,7 +201,9 @@ void template_write_config(GSList *tmpl_list)
fprintf(fp, "Subject: %s\n", tmpl->subject);
fputs("\n", fp);
fwrite(tmpl->value, sizeof(gchar) * strlen(tmpl->value), 1, fp);
+
fclose(fp);
+ g_free(filename);
}
}