fix bug with parsing negative time zones in ParseRfc822Date()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@50955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -94,6 +94,7 @@ Major new features in 2.8 release
|
|||||||
All:
|
All:
|
||||||
|
|
||||||
- Fixed bug with parsing some dates in wxDateTime (Bob Pesner)
|
- Fixed bug with parsing some dates in wxDateTime (Bob Pesner)
|
||||||
|
- Fixed bug with parsing negative time zones in wxDateTime::ParseRfc822Date()
|
||||||
|
|
||||||
All (GUI):
|
All (GUI):
|
||||||
|
|
||||||
|
@@ -421,8 +421,21 @@ public:
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TimeZone(TZ tz);
|
TimeZone(TZ tz);
|
||||||
|
|
||||||
|
// don't use this ctor, it doesn't work for negative offsets (but can't
|
||||||
|
// be removed or changed to avoid breaking ABI in 2.8)
|
||||||
TimeZone(wxDateTime_t offset = 0) { m_offset = offset; }
|
TimeZone(wxDateTime_t offset = 0) { m_offset = offset; }
|
||||||
|
|
||||||
|
#if wxABI_VERSION >= 20808
|
||||||
|
// create time zone object with the given offset
|
||||||
|
static TimeZone Make(long offset)
|
||||||
|
{
|
||||||
|
TimeZone tz;
|
||||||
|
tz.m_offset = offset;
|
||||||
|
return tz;
|
||||||
|
}
|
||||||
|
#endif // wxABI 2.8.8+
|
||||||
|
|
||||||
long GetOffset() const { return m_offset; }
|
long GetOffset() const { return m_offset; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@@ -3000,7 +3000,7 @@ const wxChar *wxDateTime::ParseRfc822Date(const wxChar* date)
|
|||||||
|
|
||||||
// the spec was correct, construct the date from the values we found
|
// the spec was correct, construct the date from the values we found
|
||||||
Set(day, mon, year, hour, min, sec);
|
Set(day, mon, year, hour, min, sec);
|
||||||
MakeFromTimezone(TimeZone((wxDateTime_t)(offset*SEC_PER_MIN)));
|
MakeFromTimezone(TimeZone::Make(offset*SEC_PER_MIN));
|
||||||
|
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
@@ -748,17 +748,23 @@ void DateTimeTestCase::TestParceRFC822()
|
|||||||
{
|
{
|
||||||
{
|
{
|
||||||
_T("Sat, 18 Dec 1999 00:46:40 +0100"),
|
_T("Sat, 18 Dec 1999 00:46:40 +0100"),
|
||||||
{ 17, wxDateTime::Dec, 1999, 23, 46, 40, 0.0, wxDateTime::Inv_WeekDay, 0, 0 },
|
{ 17, wxDateTime::Dec, 1999, 23, 46, 40 },
|
||||||
true
|
true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
_T("Wed, 1 Dec 1999 05:17:20 +0300"),
|
_T("Wed, 1 Dec 1999 05:17:20 +0300"),
|
||||||
{ 1, wxDateTime::Dec, 1999, 2, 17, 20, 0.0, wxDateTime::Inv_WeekDay, 0, 0 },
|
{ 1, wxDateTime::Dec, 1999, 2, 17, 20 },
|
||||||
true
|
true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
_T("Sun, 28 Aug 2005 03:31:30 +0200"),
|
_T("Sun, 28 Aug 2005 03:31:30 +0200"),
|
||||||
{ 28, wxDateTime::Aug, 2005, 1, 31, 30, 0.0, wxDateTime::Inv_WeekDay, 0, 0 },
|
{ 28, wxDateTime::Aug, 2005, 1, 31, 30 },
|
||||||
|
true
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
_T("Sat, 18 Dec 1999 10:48:30 -0500"),
|
||||||
|
{ 18, wxDateTime::Dec, 1999, 15, 48, 30 },
|
||||||
true
|
true
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@@ -27,6 +27,7 @@
|
|||||||
# public symbols added in 2.8.8 (please keep in alphabetical order):
|
# public symbols added in 2.8.8 (please keep in alphabetical order):
|
||||||
@WX_VERSION_TAG@.8 {
|
@WX_VERSION_TAG@.8 {
|
||||||
global:
|
global:
|
||||||
|
*TimeZone*Make*;
|
||||||
*wxScrollHelper*HandleOnChildFocus*;
|
*wxScrollHelper*HandleOnChildFocus*;
|
||||||
*wxWindowBase*Get*Sibling*;
|
*wxWindowBase*Get*Sibling*;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user