aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--ChangeLog.ja4
-rw-r--r--libsylph/imap.c2
3 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f68b2a08..2be34307 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-07-10
+
+ * libsylph/imap.c: imap_add_inter_folders(): more error checks.
+
2008-07-09
* libsylph/imap.c: imap_get_folder_list(): add intermediate folders
diff --git a/ChangeLog.ja b/ChangeLog.ja
index 00d6e094..d697900c 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,3 +1,7 @@
+2008-07-10
+
+ * libsylph/imap.c: imap_add_inter_folders(): エラーチェックの追加。
+
2008-07-09
* libsylph/imap.c: imap_get_folder_list(): 中間フォルダを追加する
diff --git a/libsylph/imap.c b/libsylph/imap.c
index 189aed59..edb8c908 100644
--- a/libsylph/imap.c
+++ b/libsylph/imap.c
@@ -2037,6 +2037,7 @@ static GSList *imap_add_inter_folders(GSList *item_list, const gchar *root_path)
strncmp(root_path, item->path, root_path_len) != 0)
continue;
p = item->path + root_path_len;
+ if (root_path_len > 0 && *p != '/') continue;
while (*p == '/') p++;
if (*p == '\0') continue;
g_hash_table_insert(exist, (gpointer)p, GINT_TO_POINTER(1));
@@ -2053,6 +2054,7 @@ static GSList *imap_add_inter_folders(GSList *item_list, const gchar *root_path)
strncmp(root_path, item->path, root_path_len) != 0)
continue;
p = item->path + root_path_len;
+ if (root_path_len > 0 && *p != '/') continue;
while (*p == '/') p++;
if (*p == '\0') continue;