From a25d285f577e9b993ec45a831c47ed190d99ceb5 Mon Sep 17 00:00:00 2001 From: Paul Mangan Date: Mon, 24 Jan 2005 09:36:43 +0000 Subject: [PATCH] 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 --- ChangeLog | 10 ++++++++++ ChangeLog.claws | 9 +++++++++ ChangeLog.jp | 11 +++++++++++ PATCHSETS | 1 + configure.ac | 2 +- src/common/utils.c | 20 ++++++++++---------- src/messageview.c | 2 ++ src/mh.c | 6 +++--- 8 files changed, 47 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0baccf093..35c23ff25 100644 --- 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 diff --git a/ChangeLog.claws b/ChangeLog.claws index a50e978cd..0ae55d81b 100644 --- a/ChangeLog.claws +++ b/ChangeLog.claws @@ -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 diff --git a/ChangeLog.jp b/ChangeLog.jp index f7c6b1e3e..d7c953509 100644 --- a/ChangeLog.jp +++ b/ChangeLog.jp @@ -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(): ÀøºßŪ¤Ê¥á¥â¥êÇ˲õ¥Ð¥° diff --git a/PATCHSETS b/PATCHSETS index 2d10af659..2e7177db9 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -219,3 +219,4 @@ ( 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 diff --git a/configure.ac b/configure.ac index 1a681f461..53f4e9a09 100644 --- a/configure.ac +++ b/configure.ac @@ -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 diff --git a/src/common/utils.c b/src/common/utils.c index 810ae48df..50897aade 100644 --- a/src/common/utils.c +++ b/src/common/utils.c @@ -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; diff --git a/src/messageview.c b/src/messageview.c index 2373a58bd..5e0dfa968 100644 --- a/src/messageview.c +++ b/src/messageview.c @@ -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); diff --git a/src/mh.c b/src/mh.c index f2dc8aa13..a172787c7 100644 --- 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++; } -- 2.25.1