sync with 0.7.5cvs11

This commit is contained in:
Paul Mangan 2002-05-08 06:31:47 +00:00
parent 836e78fa8c
commit f54d85934a
5 changed files with 63 additions and 25 deletions

View file

@ -1,7 +1,16 @@
2002-05-08
* src/procheader.c: procheader_date_parse(): fixed a bug that didn't
parse date string like "Mon,6 May 2002 20:31:12 +0800".
procheader_scan_date_string(): new. Separated string scanning
part from procheader_date_parse().
2002-05-07
* src/summary_search.c: summary_search_execute(): unlock while
selecting summary row (thanks to Martin Schaaf).
* src/summaryview.c: summary_set_column_titles(): reversed the
direction of the arrow so that it matches with Win/Mac style.
2002-05-02

View file

@ -1,3 +1,8 @@
2002-05-08 [paul] 0.7.5claws13
* sync with 0.7.5cvs11
see ChangeLog entry 2002-05-08
2002-05-08 [paul] 0.7.5claws12
* src/mainwindow.c

View file

@ -1,7 +1,16 @@
2002-05-08
* src/procheader.c: procheader_date_parse(): "Mon,6 May 2002 20:31:12
+0800" のような日時文字列をパースできないバグを修正。
procheader_scan_date_string(): 新規。 procheader_date_parse() から
文字列スキャン部分を分離。
2002-05-07
* src/summary_search.c: summary_search_execute(): サマリの行を選択
するときにロックを解除するようにした(Martin Schaaf さん thanks)。
* src/summaryview.c: summary_set_column_titles(): Win/Mac のスタイル
に合うように矢印の方向を逆にした。
2002-05-02

View file

@ -8,7 +8,7 @@ MINOR_VERSION=7
MICRO_VERSION=5
INTERFACE_AGE=0
BINARY_AGE=0
EXTRA_VERSION=claws12
EXTRA_VERSION=claws13
VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
dnl set $target

View file

@ -1,6 +1,6 @@
/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
* Copyright (C) 1999-2001 Hiroyuki Yamamoto
* Copyright (C) 1999-2002 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
@ -702,6 +702,38 @@ gchar *procheader_get_fromname(const gchar *str)
return name;
}
static gint procheader_scan_date_string(const gchar *str,
gchar *weekday, gint *day,
gchar *month, gint *year,
gint *hh, gint *mm, gint *ss,
gchar *zone)
{
gint result;
result = sscanf(str, "%10s %d %9s %d %2d:%2d:%2d %5s",
weekday, day, month, year, hh, mm, ss, zone);
if (result == 8) return 0;
result = sscanf(str, "%3s,%d %9s %d %2d:%2d:%2d %5s",
weekday, day, month, year, hh, mm, ss, zone);
if (result == 8) return 0;
result = sscanf(str, "%d %9s %d %2d:%2d:%2d %5s",
day, month, year, hh, mm, ss, zone);
if (result == 7) return 0;
*ss = 0;
result = sscanf(str, "%10s %d %9s %d %2d:%2d %5s",
weekday, day, month, year, hh, mm, zone);
if (result == 7) return 0;
result = sscanf(str, "%d %9s %d %2d:%2d %5s",
day, month, year, hh, mm, zone);
if (result == 6) return 0;
return -1;
}
time_t procheader_date_parse(gchar *dest, const gchar *src, gint len)
{
static gchar monthstr[] = "JanFebMarAprMayJunJulAugSepOctNovDec";
@ -711,34 +743,17 @@ time_t procheader_date_parse(gchar *dest, const gchar *src, gint len)
gint year;
gint hh, mm, ss;
gchar zone[6];
gint result;
GDateMonth dmonth;
struct tm t;
gchar *p;
time_t timer;
/* parsing date field... */
result = sscanf(src, "%10s %d %9s %d %2d:%2d:%2d %5s",
weekday, &day, month, &year, &hh, &mm, &ss, zone);
if (result != 8) {
result = sscanf(src, "%d %9s %d %2d:%2d:%2d %5s",
&day, month, &year, &hh, &mm, &ss, zone);
if (result != 7) {
ss = 0;
result = sscanf(src, "%10s %d %9s %d %2d:%2d %5s",
weekday, &day, month, &year, &hh, &mm, zone);
if (result != 7) {
result = sscanf(src, "%d %9s %d %2d:%2d %5s",
&day, month, &year, &hh, &mm,
zone);
if (result != 6) {
g_warning("Invalid date: %s\n", src);
if (dest && len > 0)
strncpy2(dest, src, len);
return 0;
}
}
}
if (procheader_scan_date_string(src, weekday, &day, month, &year,
&hh, &mm, &ss, zone) < 0) {
g_warning("Invalid date: %s\n", src);
if (dest && len > 0)
strncpy2(dest, src, len);
return 0;
}
/* Y2K compliant :) */