sync with 0.9.10cvs11
authorPaul Mangan <paul@claws-mail.org>
Tue, 11 May 2004 14:09:08 +0000 (14:09 +0000)
committerPaul Mangan <paul@claws-mail.org>
Tue, 11 May 2004 14:09:08 +0000 (14:09 +0000)
15 files changed:
ChangeLog
ChangeLog.claws
ChangeLog.jp
configure.ac
src/common/nntp.c
src/compose.c
src/gtk/gtkutils.c
src/gtk/gtkutils.h
src/inc.c
src/inc.h
src/msgcache.c
src/passphrase.c
src/prefs_display_header.c
src/procmsg.c
src/procmsg.h

index 9cf0880..3fc839b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2004-05-11
+
+       * src/nntp.c: nntp_get_article(): ignore the protocol error of
+         response for some broken news servers (thanks to Davide Scola).
+
+2004-05-11
+
+       * src/gtkutils.[ch]: added gtkut_editable_disable_im().
+       * src/passphrase.c: disable XIM on entering passphrase.
+
+2004-05-11
+
+       * src/compose.c
+         src/folderview.c
+         src/inc.c
+         src/prefs_display_header.c
+         src/procmsg.h: fixed for AMD64 (and other 64-bit platforms)
+         (thanks to Hiroyuki Ikezoe).
+
+2004-05-10
+
+       * src/inc.[ch]: don't use gtk_timeout_add(), instead use
+         gettimeofday() (to prevent infrequent lockup).
+
 2004-03-19
 
        * src/defs.h
index f793b59..287dbfa 100644 (file)
@@ -1,3 +1,8 @@
+2004-05-11 [paul]      0.9.10claws58
+
+       * sync with 0.9.10cvs11
+               see ChangeLog 2004-05-10 and 2004-05-11
+
 2004-05-09 [christoph] 0.9.10claws57
 
        * src/folderview.c
index 9f5b4e0..483cb26 100644 (file)
@@ -1,3 +1,28 @@
+2004-05-11
+
+       * src/nntp.c: nntp_get_article(): broken ¤Ê¥Ë¥å¡¼¥¹¥µ¡¼¥Ð¤Î¤¿¤á¤Ë
+         ±þÅú¤Î¥×¥í¥È¥³¥ë¥¨¥é¡¼¤ò̵»ë¤¹¤ë¤è¤¦¤Ë¤·¤¿(Davide Scola ¤µ¤ó
+         thanks)¡£
+
+2004-05-11
+
+       * src/gtkutils.[ch]: gtkut_editable_disable_im() ¤òÄɲá£
+       * src/passphrase.c: ¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎÆþÎÏ»þ¤Ë XIM ¤ò̵¸ú¤Ë¤·¤¿¡£
+
+2004-05-11
+
+       * src/compose.c
+         src/folderview.c
+         src/inc.c
+         src/prefs_display_header.c
+         src/procmsg.h: AMD64 (¤È¤½¤Î¾64-bit¥×¥é¥Ã¥È¥Õ¥©¡¼¥à)¡¡¤Î¤¿¤á¤Î
+         ½¤Àµ(Hiroyuki Ikezoe ¤µ¤ó thanks)¡£
+
+2004-05-10
+
+       * src/inc.[ch]: gtk_timeout_add() ¤ò»ÈÍѤ»¤º¡¢Âå¤ï¤ê¤Ë
+         gettimeofday() ¤ò»ÈÍÑ(µ©¤Ë¥í¥Ã¥¯¥¢¥Ã¥×¤¹¤ë¤Î¤òËɤ°¤¿¤á)¡£
+
 2004-03-19
 
        * src/defs.h
index f03119c..e845179 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=10
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=57
+EXTRA_VERSION=58
 
 if test $EXTRA_VERSION -eq 0; then
     VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}claws
index 6bcc83e..991feb6 100644 (file)
@@ -193,9 +193,9 @@ gint nntp_get_article(NNTPSession *session, const gchar *cmd, gint num,
        extract_parenthesis(buf, '<', '>');
        if (buf[0] == '\0') {
                log_warning(_("protocol error\n"));
-               return NN_PROTOCOL;
-       }
-       *msgid = g_strdup(buf);
+               *msgid = g_strdup("0");
+       } else
+               *msgid = g_strdup(buf);
 
        return NN_SUCCESS;
 }
index fb2ea7f..64dc474 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2003 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2004 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
@@ -3147,8 +3147,8 @@ gint compose_send(Compose *compose)
        }
 
        /* write to temporary file */
-       g_snprintf(tmp, sizeof(tmp), "%s%ctmpmsg.%08x",
-                  get_tmp_dir(), G_DIR_SEPARATOR, (gint)compose);
+       g_snprintf(tmp, sizeof(tmp), "%s%ctmpmsg.%p",
+                  get_tmp_dir(), G_DIR_SEPARATOR, compose);
 
        if (prefs_common.linewrap_at_send)
                compose_wrap_line_all(compose);
@@ -3884,8 +3884,8 @@ static gint compose_queue_sub(Compose *compose, gint *msgnum, FolderItem **item,
        }
 
        /* add queue header */
-       tmp = g_strdup_printf("%s%cqueue.%d", g_get_tmp_dir(),
-                             G_DIR_SEPARATOR, (gint)compose);
+       tmp = g_strdup_printf("%s%cqueue.%p", get_tmp_dir(),
+                             G_DIR_SEPARATOR, compose);
        if ((fp = fopen(tmp, "wb")) == NULL) {
                FILE_OP_ERROR(tmp, "fopen");
                g_free(tmp);
@@ -5940,8 +5940,8 @@ static void compose_exec_ext_editor(Compose *compose)
        pid_t pid;
        gint pipe_fds[2];
 
-       tmp = g_strdup_printf("%s%ctmpmsg.%08x", get_tmp_dir(),
-                             G_DIR_SEPARATOR, (gint)compose);
+       tmp = g_strdup_printf("%s%ctmpmsg.%p", get_tmp_dir(),
+                             G_DIR_SEPARATOR, compose);
 
        if (pipe(pipe_fds) < 0) {
                perror("pipe");
@@ -6428,8 +6428,8 @@ static void compose_draft_cb(gpointer data, guint action, GtkWidget *widget)
 
        lock = TRUE;
 
-       tmp = g_strdup_printf("%s%cdraft.%08x", get_tmp_dir(),
-                             G_DIR_SEPARATOR, (gint)compose);
+       tmp = g_strdup_printf("%s%cdraft.%p", get_tmp_dir(),
+                             G_DIR_SEPARATOR, compose);
 
        if (compose_write_to_file(compose, tmp, TRUE) < 0) {
                g_free(tmp);
index dd1a1fd..95813f9 100644 (file)
@@ -462,6 +462,22 @@ gchar *gtkut_editable_get_selection(GtkEditable *editable)
        return gtk_editable_get_chars(editable, start_pos, end_pos);
 }
 
+void gtkut_editable_disable_im(GtkEditable *editable)
+{
+       g_return_if_fail(editable != NULL);
+
+#if USE_XIM
+       if (editable->ic) {
+               gdk_ic_destroy(editable->ic);
+               editable->ic = NULL;
+       }
+       if (editable->ic_attr) {
+               gdk_ic_attr_destroy(editable->ic_attr);
+               editable->ic_attr = NULL;
+       }
+#endif
+}
+
 /*
  * Walk through the widget tree and disclaim the selection from all currently
  * realized GtkEditable widgets.
index de14296..4ba4e37 100644 (file)
@@ -141,6 +141,7 @@ void gtkut_combo_set_items          (GtkCombo       *combo,
                                         const gchar    *str1, ...);
 
 gchar *gtkut_editable_get_selection    (GtkEditable    *editable);
+void gtkut_editable_disable_im         (GtkEditable    *editable);
 
 void gtkut_container_remove            (GtkContainer   *container,
                                         GtkWidget      *widget);
index 719a3c7..9f541bb 100644 (file)
--- a/src/inc.c
+++ b/src/inc.c
@@ -32,6 +32,7 @@
 #include <unistd.h>
 #include <string.h>
 #include <time.h>
+#include <sys/time.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <sys/wait.h>
@@ -94,10 +95,6 @@ static void inc_session_destroy              (IncSession             *session);
 static gint inc_start                  (IncProgressDialog      *inc_dialog);
 static IncState inc_pop3_session_do    (IncSession             *session);
 
-static void inc_timer_start            (IncProgressDialog      *inc_dialog,
-                                        IncSession             *inc_session);
-static void inc_timer_stop             (IncProgressDialog      *inc_dialog);
-
 static void inc_progress_dialog_update (IncProgressDialog      *inc_dialog,
                                         IncSession             *inc_session);
 
@@ -108,8 +105,15 @@ static void inc_progress_dialog_set_progress
                                        (IncProgressDialog      *inc_dialog,
                                         IncSession             *inc_session);
 
-static gint inc_progress_timer_func    (gpointer        data);
-static gint inc_folder_timer_func      (gpointer        data);
+static void inc_update_folderview      (IncProgressDialog      *inc_dialog,
+                                        IncSession             *inc_session);
+
+static void inc_progress_dialog_update_periodic
+                                       (IncProgressDialog      *inc_dialog,
+                                        IncSession             *inc_session);
+static void inc_update_folderview_periodic
+                                       (IncProgressDialog      *inc_dialog,
+                                        IncSession             *inc_session);
 
 static gint inc_recv_data_progressive  (Session        *session,
                                         guint           cur_len,
@@ -394,8 +398,8 @@ static IncProgressDialog *inc_progress_dialog_create(gboolean autocheck)
        }
 
        dialog->dialog = progress;
-       dialog->progress_timer_id = 0;
-       dialog->folder_timer_id = 0;
+       gettimeofday(&dialog->progress_tv, NULL);
+       gettimeofday(&dialog->folder_tv, NULL);
        dialog->queue_list = NULL;
        dialog->cur_row = 0;
 
@@ -770,7 +774,6 @@ static IncState inc_pop3_session_do(IncSession *session)
               session->inc_state != INC_CANCEL)
                gtk_main_iteration();
 
-       inc_timer_stop(inc_dialog);
        statusbar_pop_all();
 
        if (session->inc_state == INC_SUCCESS) {
@@ -807,33 +810,6 @@ static IncState inc_pop3_session_do(IncSession *session)
        return session->inc_state;
 }
 
-static void inc_timer_start(IncProgressDialog *inc_dialog,
-                           IncSession *inc_session)
-{
-       if (inc_dialog->progress_timer_id == 0) {
-               inc_dialog->progress_timer_id =
-                       gtk_timeout_add(PROGRESS_UPDATE_INTERVAL,
-                                       inc_progress_timer_func, inc_session);
-       }
-       if (inc_dialog->folder_timer_id == 0) {
-               inc_dialog->folder_timer_id =
-                       gtk_timeout_add(FOLDER_UPDATE_INTERVAL,
-                                       inc_folder_timer_func, inc_session);
-       }
-}
-
-static void inc_timer_stop(IncProgressDialog *inc_dialog)
-{
-       if (inc_dialog->progress_timer_id) {
-               gtk_timeout_remove(inc_dialog->progress_timer_id);
-               inc_dialog->progress_timer_id = 0;
-       }
-       if (inc_dialog->folder_timer_id) {
-               gtk_timeout_remove(inc_dialog->folder_timer_id);
-               inc_dialog->folder_timer_id = 0;
-       }
-}
-
 static void inc_progress_dialog_update(IncProgressDialog *inc_dialog,
                                       IncSession *inc_session)
 {
@@ -844,7 +820,6 @@ static void inc_progress_dialog_update(IncProgressDialog *inc_dialog,
 static void inc_progress_dialog_set_label(IncProgressDialog *inc_dialog,
                                          IncSession *inc_session)
 {
-       gchar buf[MSGBUFSIZE];
        ProgressDialog *dialog = inc_dialog->dialog;
        Pop3Session *session;
 
@@ -883,12 +858,15 @@ static void inc_progress_dialog_set_label(IncProgressDialog *inc_dialog,
        case POP3_RETR_RECV:
                break;
        case POP3_DELETE:
+#if 0
                if (session->msg[session->cur_msg].recv_time <
                        session->current_time) {
+                       gchar buf[MSGBUFSIZE];
                        g_snprintf(buf, sizeof(buf), _("Deleting message %d"),
                                   session->cur_msg);
                        progress_dialog_set_label(dialog, buf);
                }
+#endif
                break;
        case POP3_LOGOUT:
                progress_dialog_set_label(dialog, _("Quitting"));
@@ -912,7 +890,8 @@ static void inc_progress_dialog_set_progress(IncProgressDialog *inc_dialog,
        cur_total = inc_session->cur_total_bytes;
        total = pop3_session->total_bytes;
        if (pop3_session->state == POP3_RETR ||
-           pop3_session->state == POP3_RETR_RECV) {
+           pop3_session->state == POP3_RETR_RECV ||
+           pop3_session->state == POP3_DELETE) {
                Xstrdup_a(total_size_str, to_human_readable(total), return);
                g_snprintf(buf, sizeof(buf),
                           _("Retrieving message (%d / %d) (%s / %s)"),
@@ -950,33 +929,63 @@ static gboolean hash_remove_func(gpointer key, gpointer value, gpointer data)
        return TRUE;
 }
 
-static gint inc_progress_timer_func(gpointer data)
+static void inc_update_folderview(IncProgressDialog *inc_dialog,
+                                 IncSession *inc_session)
 {
-       IncSession *inc_session = (IncSession *)data;
-       IncProgressDialog *inc_dialog;
+       if (g_hash_table_size(inc_session->tmp_folder_table) > 0) {
+               folderview_update_item_foreach(inc_session->tmp_folder_table,
+                                              FALSE);
+               g_hash_table_foreach_remove(inc_session->tmp_folder_table,
+                                           hash_remove_func, NULL);
+       }
+}
 
-       inc_dialog = (IncProgressDialog *)inc_session->data;
+static void inc_progress_dialog_update_periodic(IncProgressDialog *inc_dialog,
+                                               IncSession *inc_session)
+{
+       struct timeval tv_cur;
+       struct timeval tv_result;
+       gint msec;
 
-       inc_progress_dialog_update(inc_dialog, inc_session);
+       gettimeofday(&tv_cur, NULL);
 
-       return TRUE;
+       tv_result.tv_sec = tv_cur.tv_sec - inc_dialog->progress_tv.tv_sec;
+       tv_result.tv_usec = tv_cur.tv_usec - inc_dialog->progress_tv.tv_usec;
+       if (tv_result.tv_usec < 0) {
+               tv_result.tv_sec--;
+               tv_result.tv_usec += 1000000;
+       }
+
+       msec = tv_result.tv_sec * 1000 + tv_result.tv_usec / 1000;
+       if (msec > PROGRESS_UPDATE_INTERVAL) {
+               inc_progress_dialog_update(inc_dialog, inc_session);
+               inc_dialog->progress_tv.tv_sec = tv_cur.tv_sec;
+               inc_dialog->progress_tv.tv_usec = tv_cur.tv_usec;
+       }
 }
 
-static gint inc_folder_timer_func(gpointer data)
+static void inc_update_folderview_periodic(IncProgressDialog *inc_dialog,
+                                          IncSession *inc_session)
 {
-       IncSession *inc_session = (IncSession *)data;
-       IncProgressDialog *inc_dialog;
+       struct timeval tv_cur;
+       struct timeval tv_result;
+       gint msec;
 
-       inc_dialog = (IncProgressDialog *)inc_session->data;
+       gettimeofday(&tv_cur, NULL);
 
-       if (g_hash_table_size(inc_session->tmp_folder_table) > 0) {
-               folderview_update_item_foreach(inc_session->tmp_folder_table,
-                                              FALSE);
-               g_hash_table_foreach_remove(inc_session->tmp_folder_table,
-                                           hash_remove_func, NULL);
+       tv_result.tv_sec = tv_cur.tv_sec - inc_dialog->folder_tv.tv_sec;
+       tv_result.tv_usec = tv_cur.tv_usec - inc_dialog->folder_tv.tv_usec;
+       if (tv_result.tv_usec < 0) {
+               tv_result.tv_sec--;
+               tv_result.tv_usec += 1000000;
        }
 
-       return TRUE;
+       msec = tv_result.tv_sec * 1000 + tv_result.tv_usec / 1000;
+       if (msec > FOLDER_UPDATE_INTERVAL) {
+               inc_update_folderview(inc_dialog, inc_session);
+               inc_dialog->folder_tv.tv_sec = tv_cur.tv_sec;
+               inc_dialog->folder_tv.tv_usec = tv_cur.tv_usec;
+       }
 }
 
 static gint inc_recv_data_progressive(Session *session, guint cur_len,
@@ -984,6 +993,7 @@ static gint inc_recv_data_progressive(Session *session, guint cur_len,
 {
        IncSession *inc_session = (IncSession *)data;
        Pop3Session *pop3_session = POP3_SESSION(session);
+       IncProgressDialog *inc_dialog;
        gint cur_total;
 
        g_return_val_if_fail(inc_session != NULL, -1);
@@ -1000,6 +1010,10 @@ static gint inc_recv_data_progressive(Session *session, guint cur_len,
                cur_total = pop3_session->total_bytes;
        inc_session->cur_total_bytes = cur_total;
 
+       inc_dialog = (IncProgressDialog *)inc_session->data;
+       inc_progress_dialog_update_periodic(inc_dialog, inc_session);
+       inc_update_folderview_periodic(inc_dialog, inc_session);
+
        return 0;
 }
 
@@ -1011,19 +1025,12 @@ static gint inc_recv_data_finished(Session *session, guint len, gpointer data)
        g_return_val_if_fail(inc_session != NULL, -1);
 
        inc_dialog = (IncProgressDialog *)inc_session->data;
+
        inc_recv_data_progressive(session, 0, 0, inc_session);
 
-       if (POP3_SESSION(session)->state == POP3_RETR) {
-               if (inc_dialog->progress_timer_id == 0) {
-                       inc_timer_start(inc_dialog, inc_session);
-                       inc_progress_dialog_update(inc_dialog, inc_session);
-               }
-       } else if (POP3_SESSION(session)->state == POP3_LOGOUT) {
+       if (POP3_SESSION(session)->state == POP3_LOGOUT) {
                inc_progress_dialog_update(inc_dialog, inc_session);
-               if (inc_dialog->progress_timer_id) {
-                       inc_folder_timer_func(data);
-                       inc_timer_stop(inc_dialog);
-               }
+               inc_update_folderview(inc_dialog, inc_session);
        }
 
        return 0;
@@ -1050,17 +1057,10 @@ static gint inc_recv_message(Session *session, const gchar *msg, gpointer data)
                break;
        case POP3_RETR:
                inc_recv_data_progressive(session, 0, 0, inc_session);
-               if (inc_dialog->progress_timer_id == 0) {
-                       inc_timer_start(inc_dialog, inc_session);
-                       inc_progress_dialog_update(inc_dialog, inc_session);
-               }
                break;
        case POP3_LOGOUT:
                inc_progress_dialog_update(inc_dialog, inc_session);
-               if (inc_dialog->progress_timer_id) {
-                       inc_folder_timer_func(data);
-                       inc_timer_stop(inc_dialog);
-               }
+               inc_update_folderview(inc_dialog, inc_session);
                break;
        default:
                break;
@@ -1074,7 +1074,6 @@ static gint inc_drop_message(Pop3Session *session, const gchar *file)
        FolderItem *inbox;
        FolderItem *dropfolder;
        IncSession *inc_session = (IncSession *)(SESSION(session)->data);
-       IncProgressDialog *inc_dialog;
        gint msgnum;
        gint val;
 
@@ -1101,8 +1100,6 @@ static gint inc_drop_message(Pop3Session *session, const gchar *file)
                return -1;
        }
 
-       inc_dialog = (IncProgressDialog *)inc_session->data;
-
        return 0;
 }
 
index 217d464..9672330 100644 (file)
--- a/src/inc.h
+++ b/src/inc.h
@@ -26,6 +26,7 @@
 
 #include <glib.h>
 #include <time.h>
+#include <sys/time.h>
 
 #include "mainwindow.h"
 #include "progressdialog.h"
@@ -58,8 +59,8 @@ struct _IncProgressDialog
 
        gboolean show_dialog;
 
-       guint progress_timer_id;
-       guint folder_timer_id;
+       struct timeval progress_tv;
+       struct timeval folder_tv;
 
        GList *queue_list;      /* list of IncSession */
        gint cur_row;
index 43cf899..b4de1f6 100644 (file)
@@ -228,7 +228,7 @@ gint msgcache_get_memory_usage(MsgCache *cache)
 
 #define WRITE_CACHE_DATA(data, fp) \
 { \
-       gint len; \
+       size_t len; \
        if (data == NULL) \
                len = 0; \
        else \
index 8e44f9e..8daad3e 100644 (file)
@@ -153,6 +153,9 @@ passphrase_mbox (const gchar *desc)
     
     gtk_widget_show_all(window);
 
+    /* don't use XIM on entering passphrase */
+    gtkut_editable_disable_im(GTK_EDITABLE(pass_entry));
+
     if (grab_all) {
         XGrabServer(GDK_DISPLAY());
         if ( gdk_pointer_grab ( window->window, TRUE, 0,
index f9c1849..d41e090 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2002 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2004 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
@@ -277,7 +277,7 @@ static void prefs_display_header_create(void)
        gtk_box_pack_start (GTK_BOX (btn_vbox), reg_btn, FALSE, TRUE, 0);
        gtk_signal_connect (GTK_OBJECT (reg_btn), "clicked",
                            GTK_SIGNAL_FUNC (prefs_display_header_register_cb),
-                           FALSE);
+                           GINT_TO_POINTER(FALSE));
        del_btn = gtk_button_new_with_label (_("Delete"));
        gtk_widget_show (del_btn);
        gtk_box_pack_start (GTK_BOX (btn_vbox), del_btn, FALSE, TRUE, 0);
@@ -333,13 +333,13 @@ static void prefs_display_header_create(void)
        gtk_signal_connect (GTK_OBJECT (reg_btn), "clicked",
                            GTK_SIGNAL_FUNC
                            (prefs_display_header_register_cb),
-                           (void *) TRUE);
+                           GINT_TO_POINTER(TRUE));
        del_btn = gtk_button_new_with_label (_("Delete"));
        gtk_widget_show (del_btn);
        gtk_box_pack_start (GTK_BOX (btn_vbox), del_btn, FALSE, TRUE, 0);
        gtk_signal_connect (GTK_OBJECT (del_btn), "clicked",
                            GTK_SIGNAL_FUNC (prefs_display_header_delete_cb),
-                           (void *) hidden_headers_clist);
+                           hidden_headers_clist);
 
        PACK_CHECK_BUTTON (btn_hbox, checkbtn_other_headers,
                           _("Show all unspecified headers"));
@@ -558,9 +558,7 @@ static gint prefs_display_header_clist_set_row(gboolean hidden)
 static void prefs_display_header_register_cb(GtkButton *btn,
                                             gpointer hidden_data)
 {
-       gboolean hidden = (gboolean)hidden_data;
-
-       prefs_display_header_clist_set_row(hidden);
+       prefs_display_header_clist_set_row(GPOINTER_TO_INT(hidden_data));
 }
 
 static void prefs_display_header_delete_cb(GtkButton *btn, gpointer clist_data)
index 522d651..c16b058 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2003 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2004 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
index 2a8d3c7..7871f0c 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2003 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2004 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