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
Václav Slavík
0081dd7246
fixed FromAscii to work with NULL argument (broken after recent changes)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-28 20:01:11 +00:00
Václav Slavík
602a857b25
fixed FromAscii() changes to correctly handle embedded NULs
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47011 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-28 19:07:00 +00:00
Václav Slavík
e6310bbc5a
added wxString::FromAscii(char*,size_t) for consistency with FromUTF8()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46995 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-28 12:36:54 +00:00
Václav Slavík
a33c7045d1
don't put invalid UTF-8 data into wxString if Printf() fails in UTF-8 build
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-15 11:26:29 +00:00
Václav Slavík
52de37c78f
1. made CRT wrappers definitions indepenent of wxUSE_UNICODE: both ANSI and Unicode variants are now defined
...
2. split wxcrt.h into wxcrtbase.h with lowlevel compiler-specific definitions and wxcrt.h with ANSI- and Unicode-compatible wx wrappers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-10 17:14:14 +00:00
Václav Slavík
c6255a6eab
removed unneeded wxVaCopy calls
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-04 10:54:16 +00:00
Václav Slavík
5487ff0f50
use const wxMBConv& instead of wxMBConv& in public methods so that it's possible to pass in temporary objects;
...
don't use global wxConvUTF8 object internally, it may be unavailable at static objects destruction time
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-11 20:55:24 +00:00
Václav Slavík
c5e7a7d769
changed wxString::StartsWidth/EndsWidth to take wxString argument instead of wxChar*
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-09 21:07:08 +00:00
Václav Slavík
1528e0b85f
use wxFormatString helper class for 'vararg' functions' format argument; this prepares the code for removal of implicit wxString conversion to char* in STL build and also fixes VC6 compilation
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45803 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-04 10:41:08 +00:00
Václav Slavík
111d99489d
added code for optimized handling of UTF-8 locales: some string operations are more efficient under it and it's possible to completely compile-out support for other locales if the target system is known to only use UTF-8 locales
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45782 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-03 11:05:04 +00:00
Václav Slavík
d1f6e2cfe2
fixed vararg functions with format argument to not use wxString or reference argument (the latter is invalid C++, the former doesn't work with Watcom and produces at least warnings with GCC 3.3)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45781 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-03 10:50:25 +00:00
Václav Slavík
c1eada835a
more efficient implementation of ToAscii/FromAscii in UTF8 build
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-26 12:00:43 +00:00
Václav Slavík
2523e9b700
use UTF8-encoded char* strings in UTF8 build instead of wchar_t* if the current locale uses UTF8;
...
fall back to widechar CRT functions in the locale is not UTF8
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-26 11:40:04 +00:00
Václav Slavík
c87a0bc8cb
corrected (Do)GetWriteBuf() return types to use more appropriate type (no real difference)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-24 15:51:51 +00:00
Václav Slavík
467175ab3f
moved primitive string and string iterators operations to stringops.h/cpp files to make wxString code easier to read
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-19 10:05:55 +00:00
Václav Slavík
681e441286
added wxCStrData::As[W]CharBuf() that doesn't keep converted string in memory for longer than needed
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-16 06:59:04 +00:00
Václav Slavík
cf9a878b54
removed implicit conversion from wxString::iterator to wxStringImpl::iterator (fixes VC6 compilation)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45484 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-15 19:02:38 +00:00
Václav Slavík
a4a44612a6
implement wxString:IsXXX() methods using iterators
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45477 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-15 10:07:40 +00:00
Václav Slavík
817270659e
initial version of UTF-8 strings representation (still converting to wchar_t* a lot); it has to be explicitly enabled with --enable-utf8 for now
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-12 21:15:07 +00:00
Vadim Zeitlin
1748289348
added our own implementation of strto[u]ll() if the system doesn't have one (patch 1696533)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-11 00:12:54 +00:00
Václav Slavík
05f32fc39e
don't crash if (char*)c_str() is used twice in a row on the same string and both pointers are used at the same time
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-10 19:13:52 +00:00
Stefan Csomor
8116a0c55e
correcting include style
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-10 12:23:44 +00:00
Václav Slavík
132276cf0d
fix crash in ~wxString with global wxString objects: temporarily move conversion buffers from a hash to wxString
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-08 17:52:00 +00:00
Václav Slavík
6c4ebcda60
STL build compilation fix
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-07 09:25:07 +00:00
Václav Slavík
11aac4baa6
provide both const char* and const wchar_t* implicit conversion of wxCStrData regardless of the build type
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45262 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-05 21:28:14 +00:00
Václav Slavík
8a540c887c
made wxString::Replace, Matches and Find work with any form of string argument
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-05 08:35:39 +00:00