Commit Graph

52 Commits

Author SHA1 Message Date
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
33e6d385a5 Fix formatting of the local time zone when DST is in effect.
We must add DST offset manually as wxGetTimeZone() doesn't take DST into
account.

This fixes the handling of "%z" in format strings.

Closes #15250.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-15 21:49:05 +00:00
Vadim Zeitlin
2747a51b24 Restore ability to parse hours only with wxDateTime::ParseTime().
This was accidentally removed in r51059, but worked in 2.8 and so should
continue to work.

Also add a unit test to ensure that this doesn't get broken again in the
future.

Closes #15204.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73988 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-15 13:05:49 +00:00
Vadim Zeitlin
daa3509726 No changes, just silence some MSVC 11 static analyzer warnings.
This is an aborted attempt to make wxWidgets code compile without warnings
when using MSVC 11 /analyze option, as it was supposed to have become much
better. Unfortunately it still produces way too many false positives to be
really useful, in particular NULL pointer detection is completely broken as
even the code such as (from object.cpp):

        wxClassInfo *info = sm_first;
        while (info)
        {
            if ( info->m_next == this )
                ...
        }

provokes tons of warnings about "info" being NULL inside the loop which is
clearly impossible.

So this commit just fixes a few obvious warnings, mostly about variable
shadowing but also a couple about possibly passing NULL to memcpy().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-15 23:20:23 +00:00
Vadim Zeitlin
37424888b8 No real changes, just fix some typos in comments.
Closes #14276.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71375 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-07 13:12:27 +00:00
Vadim Zeitlin
f17ac57417 Return valid pointers from wxDateTime::ParseXXX() with non-wxString strings.
The pointer returned by wxDateTime::ParseXXX() methods could point into a
buffer of a temporary wxString created to wrap a char* or wchar_t* argument so
dereferencing it was illegal.

Fix this by defining separate overloads for char*/wchar_t* arguments returning
pointers into the original string.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70996 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-25 16:45:53 +00:00
Vadim Zeitlin
4323bbde8d Fix bug with parsing time formats during DST periods.
wxDateTime::ParseFormat() used todays date as fall back when parsing all
formats, including those involving times, which meant that its results
depended on whether DST was active at the time of the parsing which was
clearly wrong.

Fix this by using a fixed date on which DST is known not to be active as fall
back date.

This fixes unit test failures in DateTimeTestCase::TestTimeFormat() when it
was ran on a DST transition date.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70993 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-25 00:31:47 +00:00
Vadim Zeitlin
1f29ecb357 Check for iterator validity when parsing "%%" in wxDateTime::Format() too.
This is similar to the previous commit and adds another missed check for the
iterator not being at the end of string.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70847 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-09 01:09:25 +00:00
Vadim Zeitlin
649148f93e Check for end of string when parsing "%z" in wxDateTime::Format().
We could dereference an invalid iterator when parsing "%z", check for this in
the code and add a unit test for this case.

Closes #14075.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-09 01:09:20 +00:00
Vadim Zeitlin
d98a58c543 Use __WINDOWS__ for OS kind checks and reserve __WXMSW__ for GUI toolkit.
This change prepares the way for using wxGTK under Windows as this would
still define __WINDOWS__ but use __WXGTK__ instead of __WXMSW__.

Closes #14064.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 00:29:31 +00:00
Vadim Zeitlin
444bc2b24d Implement support for "%z" in wxDateTime::Format() and Parse().
"%z" specifier can now be used when printing the dates out to specify the time
zone and is also recognized when parsing dates.

Closes #1215.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70268 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-05 00:47:10 +00:00
Vadim Zeitlin
59068d79f7 Extracted private GetTimeZone() to public wxGetTimeZone() function.
Created new wx/time.h header for this function, more time-related functions
will be added to it later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 19:50:19 +00:00
Dimitri Schoolwerth
d13b34d3f2 No code changes, fixed various typos.
Applied patch by snowleopard2 fixing typos in interface/. Extended the fixes throughout trunk.

Closes #13076.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-03 20:31:32 +00:00
Vadim Zeitlin
e4f54cce1e Fix crashes in wxDateTime::ParseDate() for some invalid dates.
Parsing an incomplete date with nothing but whitespace and/or date delimiter
characters at the end crashed as we happily went beyond the end of string.

Fix this by not using a loop which didn't check for the iterator validity.

Closes #12685.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66166 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-16 22:37:52 +00:00
Vadim Zeitlin
da209561e3 Fix infinite loop in wxDateTime::Format() when fields width was used.
Just add a missing increment of the loop variable.

See #12451.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-09 22:20:12 +00:00
Vadim Zeitlin
ba75967c9c Initialize all fields of struct tm used by wxDateTime::Format().
Passing not fully initialized struct tm to strftime() results in Valgrind
errors and possible nastiness, see #12455.

Simply use memset() to set all fields of this system-dependent struct to 0
initially.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-09 21:57:52 +00:00
Vadim Zeitlin
7633bfcd68 Clarify wxDateTime::ParseDateTime() semantics: it needs both date and time.
Correct documentation and also remove unnecessary initialization of variables
and comments in the function itself.

See #11846.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-22 22:56:17 +00:00
Vadim Zeitlin
8b7d411f14 Correctly parse times without seconds in wxDateTime::ParseTime().
This was always supposed to work but never did because of a typo in the "24
hour format without seconds" format specification. Fix this by removing the
extra "%S" from it and add a test for this case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-04 11:05:47 +00:00
Vadim Zeitlin
462f4f19b5 Don't dereference invalid iterator in wxDateTime::ParseDate().
If the string passed to this method contained only spaces (possibly 0 of them,
i.e. was empty) we would dereference the end string iterator. Fix this by
adding an explicit test for "p != pEnd".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-04 10:59:40 +00:00
Vadim Zeitlin
4e2c2c7062 Don't create an invalid iterator in wxDateTime::ParseTime().
Creating an iterator pointing beyond the string end resulted in an assert from
MSVC 9 CRT. Fix this by using wxString ctor taking length (which may be
greater than the length of the string) instead of the one taking two iterators
(which must both be valid).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63017 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-30 13:46:27 +00:00
Paul Cornett
a243da29c8 make array data fully const
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-02 17:28:45 +00:00
Vadim Zeitlin
7a91ad2cee Only use wxLocale functions if wxUSE_INTL == 1.
Don't use locale-dependent formats in wxDateTime::ParseFormat() when locale
support is disabled.

Closes #11121.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-21 18:46:39 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
eaed41872c Handle %e in ParseFormat().
This allows us to parse the format returned by wxLocale::GetInfo(wxLOCALE_DATE_TIME_FMT) under Linux.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-22 16:44:06 +00:00
Vadim Zeitlin
5ec58699d0 suppress harmless warning about possibly uninitialized variable in ParseRfc822Date() in OSX build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61304 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-03 12:14:51 +00:00
Vadim Zeitlin
01b56a96ae don't redefine HAVE_STRFTIME as it can already be defined by configure (forgotten part of r60842)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60847 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-31 19:40:57 +00:00
Vadim Zeitlin
0c51a971fb no changes, just removed unused variable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-04 12:08:50 +00:00
Vadim Zeitlin
79c4aa385f fix parsing of %p for locales which use periods in AM/PM strings (see #10677)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60011 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-04 11:53:08 +00:00
Vadim Zeitlin
f253c22f29 really fix handling of trailing periods in abbreviated month names in French locale (without breaking everything else like last commit did)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59999 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-03 16:37:52 +00:00
Vadim Zeitlin
6b26ab96f7 allow for trailing periods in week day/month names (as used in e.g. French locale)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59998 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-03 15:42:06 +00:00
Stefan Csomor
911907f4ad adding OSX specific fixes to bsd level formatting problems
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-30 18:26:23 +00:00
Vadim Zeitlin
694cb6c581 don't dereference end iterator (closes #10656)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59928 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-29 21:04:55 +00:00
Vadim Zeitlin
89a7e1ff98 Added wxLOCALE_DATE/TIME_FMT support to wxLocale::GetInfo().
- Implement for POSIX and Win32, TODO for OS X
- Use this instead of ad hoc code in wxDateTime::ParseFormat()
- Remove HAVE_STRPTIME, we don't need nor use strptime() any more


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59914 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-29 17:15:43 +00:00
Vadim Zeitlin
55fffc3418 minor corrections to TranslateFromUnicodeFormat()
- Don't try to dereference end() iteratorm this will fail (unlike comparing
  pointer with NUL)
- Use prefix rather than postfix increment for iterator
- Use wxUniChar::GetValue() rather than cast to char for consistency with
  other switch statements in the same file


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-26 23:07:07 +00:00
Stefan Csomor
1a39a1d7c0 changing to iterator
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59878 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-26 20:38:43 +00:00
Stefan Csomor
59d454cda2 revert to proper defaults for US
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59864 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-26 14:35:13 +00:00
Stefan Csomor
be8dbffa00 better native date locale support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-26 10:17:19 +00:00
Vadim Zeitlin
ed973feb5a fix dereferencing end() iterator in ParseFormat() and constructing out of bound iterator in ParseDate() (thanks to VC9 debug CRT for the warnings)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-25 11:51:37 +00:00
Vadim Zeitlin
c398434d92 abandon attempts to make wxAnyStrPtr behave as bool: user-defined logical operators don't short circuit silently breaking existing code so it is better to not provide them at all; instead simply return bool from the new versions taking wxString::const_iterator; advise to use the new versions in the new code and so in our own files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59829 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-25 09:54:10 +00:00
Vadim Zeitlin
254696bb8f return a wxAnyStrPtr covnertible to either narrow or wide char pointer from wxDateTime::ParseXXX() methods to improve compatibility with wx 2.8 and also simplify the code (closes #9560)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59822 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-24 23:21:29 +00:00
Vadim Zeitlin
2887455004 correct translation between iterators and char pointers in CallStrptime()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59810 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-24 12:20:23 +00:00
Vadim Zeitlin
115eded74f work around VC6 bug
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-24 11:18:34 +00:00
Vadim Zeitlin
19f5f4abbe compilation fix: remove extraneous variable declaration after last commit (why didn't g++ complain about it?)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59806 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-24 09:15:44 +00:00
Vadim Zeitlin
66f22f4ae5 fix parsing methods for non-ASCII strings (e.g. dates in non-"C" locales) (see #9560)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59798 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-24 00:11:42 +00:00
Francesco Montorsi
9decc52d62 fix unreadable typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-21 12:27:21 +00:00
Francesco Montorsi
8aa25f4025 handle locales where AM/PM strings are empty
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-21 00:19:27 +00:00
Francesco Montorsi
1ee2f9d96d share a few helpers between datetime.cpp and datetimefmt.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59677 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-20 22:07:09 +00:00
Francesco Montorsi
48fd6e9dd7 build fix (part of r59673, r59656)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-20 21:42:43 +00:00
Francesco Montorsi
cac1cfce37 build fix for systems where HAVE_STRPTIME is defined
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-20 21:00:15 +00:00
Francesco Montorsi
c4e085608a make GetNumOfDaysInMonth static again; in datetimefmt.cpp use GetNumberOfDays instead.
Attempt to fix wxDateTime::ParseFormat(date, "%c") by using strptime() before our own heuristic checks.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-20 20:45:20 +00:00