2005-01-24 [paul] 1.0.0cvs12
authorPaul Mangan <paul@claws-mail.org>
Mon, 24 Jan 2005 09:36:43 +0000 (09:36 +0000)
committerPaul Mangan <paul@claws-mail.org>
Mon, 24 Jan 2005 09:36:43 +0000 (09:36 +0000)
* ChangeLog
* ChangeLog.jp
* src/messageview.c
* src/mh.c
* src/common/utils.c
sync with main, see ChangeLog 2005-01-19

ChangeLog
ChangeLog.claws
ChangeLog.jp
PATCHSETS
configure.ac
src/common/utils.c
src/messageview.c
src/mh.c

index 0baccf0..35c23ff 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2005-01-19
+
+       * src/mh.c
+         src/utils.c
+         src/procmsg.c: ignore 0-numbered message file. Don't use symbol
+         'fileno' used in stdio.h.
+       * src/messageview.c: messageview_show(): check if
+         procmsg_msginfo_get_full_info() succeeds (fixes crash when
+         opening 0-numbered message) (thanks to WAKAI Kazunao).
+
 2005-01-11
 
        * src/template.c: template_write_config(): fixed potential memory
index a50e978..0ae55d8 100644 (file)
@@ -1,3 +1,12 @@
+2005-01-24 [paul]      1.0.0cvs12
+
+       * ChangeLog
+       * ChangeLog.jp
+       * src/messageview.c
+       * src/mh.c
+       * src/common/utils.c
+               sync with main, see ChangeLog 2005-01-19
+
 2005-01-24 [colin]     1.0.0cvs11
 
        * src/procheader.c
index f7c6b1e..d7c9535 100644 (file)
@@ -1,3 +1,14 @@
+2005-01-19
+
+       * src/mh.c
+         src/utils.c
+         src/procmsg.c: 0È֤Υá¥Ã¥»¡¼¥¸¥Õ¥¡¥¤¥ë¤ò̵»ë¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£
+         stdio.h ¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¥·¥ó¥Ü¥ë 'fileno' ¤ò»ÈÍѤ·¤Ê¤¤¤è¤¦¤Ë¤·¤¿¡£
+       * src/messageview.c: messageview_show():
+         procmsg_msginfo_get_full_info() ¤¬À®¸ù¤·¤¿¤«¤É¤¦¤«³Îǧ¤¹¤ë¤è¤¦¤Ë
+         ¤·¤¿(0È֤Υá¥Ã¥»¡¼¥¸¤ò³«¤³¤¦¤È¤·¤¿¤È¤­¤Ë¥¯¥é¥Ã¥·¥å¤¹¤ë¤Î¤ò½¤Àµ)
+         (¼ãµï¤µ¤ó thanks)¡£
+
 2005-01-11
 
        * src/template.c: template_write_config(): ÀøºßŪ¤Ê¥á¥â¥êÇ˲õ¥Ð¥°
index 2d10af6..2e7177d 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.26 -r 1.27 src/crash.c; ) > 1.0.0cvs9.patchset
 ( cvs diff -u -r 1.255 -r 1.256 src/folderview.c; ) > 1.0.0cvs10.patchset
 ( cvs diff -u -r 1.61 -r 1.62 src/procheader.c; ) > 1.0.0cvs11.patchset
+( cvs diff -u -r 1.455 -r 1.456 ChangeLog; cvs diff -u -r 1.450 -r 1.451 ChangeLog.jp; cvs diff -u -r 1.128 -r 1.129 src/messageview.c; cvs diff -u -r 1.86 -r 1.87 src/mh.c; cvs diff -u -r 1.61 -r 1.62 src/common/utils.c; ) > 1.0.0cvs12.patchset
index 1a681f4..53f4e9a 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=0
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=11
+EXTRA_VERSION=12
 EXTRA_RELEASE=
 
 if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then
index 810ae48..50897aa 100644 (file)
@@ -2020,7 +2020,7 @@ gint remove_numbered_files(const gchar *dir, guint first, guint last)
        DIR *dp;
        struct dirent *d;
        gchar *prev_dir;
-       gint fileno;
+       gint file_no;
 
        prev_dir = g_get_current_dir();
 
@@ -2037,8 +2037,8 @@ gint remove_numbered_files(const gchar *dir, guint first, guint last)
        }
 
        while ((d = readdir(dp)) != NULL) {
-               fileno = to_number(d->d_name);
-               if (fileno >= 0 && first <= fileno && fileno <= last) {
+               file_no = to_number(d->d_name);
+               if (file_no > 0 && first <= file_no && file_no <= last) {
                        if (is_dir_exist(d->d_name))
                                continue;
                        if (unlink(d->d_name) < 0)
@@ -2064,7 +2064,7 @@ gint remove_numbered_files_not_in_list(const gchar *dir, GSList *numberlist)
        DIR *dp;
        struct dirent *d;
        gchar *prev_dir;
-       gint fileno;
+       gint file_no;
 
        prev_dir = g_get_current_dir();
 
@@ -2081,9 +2081,9 @@ gint remove_numbered_files_not_in_list(const gchar *dir, GSList *numberlist)
        }
 
        while ((d = readdir(dp)) != NULL) {
-               fileno = to_number(d->d_name);
-               if (fileno >= 0 && (g_slist_find(numberlist, GINT_TO_POINTER(fileno)) == NULL)) {
-                       debug_print("removing unwanted file %d from %s\n", fileno, dir);
+               file_no = to_number(d->d_name);
+               if (file_no > 0 && (g_slist_find(numberlist, GINT_TO_POINTER(file_no)) == NULL)) {
+                       debug_print("removing unwanted file %d from %s\n", file_no, dir);
                        if (is_dir_exist(d->d_name))
                                continue;
                        if (unlink(d->d_name) < 0)
@@ -2115,7 +2115,7 @@ gint remove_expired_files(const gchar *dir, guint hours)
        struct dirent *d;
        struct stat s;
        gchar *prev_dir;
-       gint fileno;
+       gint file_no;
        time_t mtime, now, expire_time;
 
        prev_dir = g_get_current_dir();
@@ -2136,8 +2136,8 @@ gint remove_expired_files(const gchar *dir, guint hours)
        expire_time = hours * 60 * 60;
 
        while ((d = readdir(dp)) != NULL) {
-               fileno = to_number(d->d_name);
-               if (fileno >= 0) {
+               file_no = to_number(d->d_name);
+               if (file_no > 0) {
                        if (stat(d->d_name, &s) < 0) {
                                FILE_OP_ERROR(d->d_name, "stat");
                                continue;
index 2373a58..5e0dfa9 100644 (file)
@@ -736,6 +736,8 @@ gint messageview_show(MessageView *messageview, MsgInfo *msginfo,
        if (messageview->msginfo != msginfo) {
                procmsg_msginfo_free(messageview->msginfo);
                messageview->msginfo = procmsg_msginfo_get_full_info(msginfo);
+               if (!messageview->msginfo)
+                       messageview->msginfo = procmsg_msginfo_copy(msginfo);
        }
        headerview_show(messageview->headerview, messageview->msginfo);
 
index f2dc8aa..a172787 100644 (file)
--- a/src/mh.c
+++ b/src/mh.c
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2003 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2005 Hiroyuki Yamamoto
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -190,7 +190,7 @@ void mh_get_last_num(Folder *folder, FolderItem *item)
        }
 
        while ((d = readdir(dp)) != NULL) {
-               if ((num = to_number(d->d_name)) >= 0 &&
+               if ((num = to_number(d->d_name)) > 0 &&
                    dirent_is_regular_file(d)) {
                        if (max < num)
                                max = num;
@@ -230,7 +230,7 @@ gint mh_get_num_list(Folder *folder, FolderItem *item, GSList **list, gboolean *
        }
 
        while ((d = readdir(dp)) != NULL) {
-               if ((num = to_number(d->d_name)) >= 0) {
+               if ((num = to_number(d->d_name)) > 0) {
                        *list = g_slist_prepend(*list, GINT_TO_POINTER(num));
                        nummsgs++;
                }