Commit Graph

379 Commits

Author SHA1 Message Date
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
Francesco Montorsi
a51fdf81b9 blind wxOS2 build fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-18 08:08:56 +00:00
Vadim Zeitlin
f54cb154d5 return persistent buffers from mb_str()/wc_str() to allow assigning the returned value to simple pointers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60116 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-12 19:49:45 +00:00
Vadim Zeitlin
ba7e7253c6 fix PCH-less build after last change (closes #10678)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-04 11:38:45 +00:00
Vadim Zeitlin
825d69c1ef handle embedded NULs correctly in wxString::CmpNoCase() in all builds and not just UTF-8 one; incidentally improve its performance under Windows (see #10375)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-03 16:56:11 +00:00
Václav Slavík
38d26d6040 fixes or embedded NULs handling in wxString
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-30 15:35:47 +00:00
Václav Slavík
6df09f32fd added length to wx(Scoped)CharBuffer to improve handling of embedded NULs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-29 20:58:39 +00:00
Václav Slavík
de4983f323 split wxCharTypeBuffer<T> into wxScopedCharTypeBuffer<T> and wxCharTypeBuffer<T> -- the former is for transient data with validity limited to parent's lifetime, the latter is for permanent storage of string data (bug #9638)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59887 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-27 15:33:55 +00:00
Vadim Zeitlin
4b6a582bef replace more __WXDEBUG__ occurrences with wxDEBUG_LEVEL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 12:53:48 +00:00
Francesco Montorsi
529e491ce0 add the ToCLong, ToCULong and ToCDouble functions, with docs and test units
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-20 14:50:06 +00:00
Vadim Zeitlin
072682ce44 optimize Replace() to use a linear algorithm (closes #9135)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59420 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-07 16:07:58 +00:00
Vadim Zeitlin
6689960c3c use wcs(n)casecmp() if available; use wxStricmp() to implement wxString::CmpNoCase() as it's significantly more efficient than wx code (closes #10375)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-16 19:03:26 +00:00
Vadim Zeitlin
4e79262f78 resolve the DLL linking problems with MSVC due to use of static variables of template types by replacing them by a non-template unique untypedNullDataPtr
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 01:48:36 +00:00
Vadim Zeitlin
6b583d40a8 fix linking problems due to MSVC implicitly considering template classes specializations used as base classes DLL-exported even though it doesn't actually export them when building the DLL (with or without explicit declspec(dllexport)); also replace wxCharTypeBuffer::NullData with a static function to allow not DLL-exporting this class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-30 23:04:29 +00:00
Vadim Zeitlin
ddf01bdb96 don't crash when streaming out a wxString into an std::ostream, just set the failbit instead
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56214 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-10 16:11:40 +00:00
Vadim Zeitlin
7929902d65 no real changes, just fixed all occurences of 'occurence' typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-29 12:10:58 +00:00
Vadim Zeitlin
c565abe1c5 fix After{First,Last}() to work for strings with non-ASCII characters in UTF-8 build and added unit tests for this
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-29 12:08:44 +00:00
Jouk Jansen
c9b6cebdab OpenVMS chokes on external templates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55560 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-11 20:50:12 +00:00
Stefan Csomor
e317bd3f10 solving osx problems (default inlines-hidden) by explicitely exporting the involved methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-11 06:46:23 +00:00
Vadim Zeitlin
e810df36b3 access TLS cache variable directly and not via a helper function when using compiler with native TLS support to work around an apparent bug in g++
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-06 22:12:04 +00:00
Vadim Zeitlin
8c3b65d941 rename ShowCacheStats to wxStrCacheStatsDumper
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55395 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-31 15:07:12 +00:00
Vadim Zeitlin
ad8ae78878 call GetCache() from a global object ctor to ensure that it is done before any threads are created
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-31 14:57:53 +00:00
Vadim Zeitlin
8b73c5318c chanegd wxTlsValue to be pointer-like instead of value-like which doesn't work for UDTs; use __thread keyword with mingw32 >= 4.3 too; use library-based thread-specific variables support in wxString cache now that it is fixed to work there; finally added a unit test for TLS stuff
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-29 23:28:42 +00:00
Vadim Zeitlin
68482dc584 add cache for last used position and string length to UTF-8 wxString, dramatically improving performance of the code using indices to iterate over strings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55333 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-28 19:19:11 +00:00
Václav Slavík
5c1de526d2 added refcounting to wxCharBuffer to fix passing of wxCharBuffer to printf-like functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-10 19:37:51 +00:00
Vadim Zeitlin
dd79ca2fd8 undid changes accidentally committed as part of r55019
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-08 19:00:19 +00:00
Vadim Zeitlin
64a044d5a6 added wxTLS_TYPE() macro
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55019 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-08 02:59:32 +00:00
Vadim Zeitlin
0c7db140c5 add wxString::Capitalize() and MakeCapitalized() for consistency with Upper/Lower() we already have
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54915 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-01 23:39:11 +00:00
Vadim Zeitlin
8a6270322b optimize Replace() for the common case of replacing one character with another one (#9802)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54860 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-30 21:41:07 +00:00
Václav Slavík
f81cf71f9b fixed wxString::Replace() to work directly on m_impl -- matters for UTF-8 build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-19 11:18:28 +00:00
Vadim Zeitlin
9ef1ad0d2c fix crashes due to missing npos handling in several wxString methods in STL build (bug 1941352); add an assert to ensure this bug doesn't occur in the future
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-13 23:41:15 +00:00
Vadim Zeitlin
394b2900ff don't stop on NULs in Replace()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53144 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-12 17:10:28 +00:00
Vadim Zeitlin
f172cb8200 removed support for Salford compiler (which was almost certainly broken anyhow) (patch 1861133)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50960 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-31 10:05:00 +00:00
Vadim Zeitlin
c95e653ca4 don't modify the output variable if ToXXX() fails to convert (modified patch 1849041)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50710 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-15 02:45:24 +00:00
Vadim Zeitlin
9d55bfef2c don't use 8 bit characters in sources, this results in level 1 warning with VC8 (patch 1841741)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-03 22:09:26 +00:00
David Elliott
a9a854d73e Go back to my original idea of checking for EILSEQ and EINVAL and failing
immediately if either of those is set after wxVsnprintf call returns a
negative number to indicate some type of failure.

All other errno are assumed to simply mean that the buffer is undersized so
the platform C library function can set errno to anything it likes or simply
not set it at all and our code will keep trying to increase the buffer size
just as it did originally.

This should (hopefully) fix compilation with C libraries that only support
the most basic set of errors (of which EINVAL and EILSEQ are part).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-23 03:30:16 +00:00
David Elliott
67612ff18e Fix wxVsnprintf-using code on both trunk and 2.8 and document how native
functions are supposed to behave as well as how some of them do.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-20 03:44:01 +00:00
Václav Slavík
6a6ea041d9 compilation fix for Mingw: it doesn't have std::wostream
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49115 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-10 09:48:00 +00:00
Vadim Zeitlin
6b61b594cf define insertion operator in std::wostream in Unicode build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-09 00:09:01 +00:00
Vadim Zeitlin
7a906e1a21 fixed operator<<(ostream&, wxString) to output string contents and not wchar_t pointer value in Unicode build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-09 00:01:59 +00:00
Paul Cornett
0d8b0f94c0 unused variable, more efficient increment operator
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-22 04:40:21 +00:00
Vadim Zeitlin
2a7431e130 no changes, just added a comment explaining the issues involved in doing the conversion in place in wxCStrData::AsChar()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48614 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-09 19:05:20 +00:00
Vadim Zeitlin
28be59b4ad return empty string, not NULL, from wxCStrData::AsChar() if conversion to ANSI fails for compatibility with wxWidgets 2 and std::string
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-09 18:57:41 +00:00
Václav Slavík
c5288c5cfe fixed wxString::FromAscii signature
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-06 13:31:08 +00:00
Robin Dunn
4f696af8d6 Pass length including the null-terminator to cWC2MB
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-05 22:53:29 +00:00
Václav Slavík
941a4e6260 replace wxStringToIntType<T> with a macro to make Watcom compile the code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-22 19:06:31 +00:00
Václav Slavík
7d46f92bb0 compilation fix for UTF8+STL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-22 11:30:10 +00:00
Václav Slavík
628f87da56 added wxUTF8StringBuffer for writing UTF8 data into wxString efficiently, similarly to existing wxStringBuffer classes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-20 15:19:15 +00:00
Václav Slavík
6798451bb2 renamed wxImplStringBuffer to wxStringInternalBuffer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-19 21:24:50 +00:00
Vadim Zeitlin
4fdfe2f3ae use wxMBConvStrictUTF8 instead of wxMBConvUTF8 in ConvertStr() and mb/wc_str()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47705 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-24 15:10:21 +00:00