Commit Graph

403 Commits

Author SHA1 Message Date
Václav Slavík
e8f5903971 build fixes after previous commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-04 11:40:36 +00:00
Václav Slavík
04abe4bc8f cleanup of wxString ctors and operator=: made both char* and wchar_t* versions available, regardless of the build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-03 20:29:42 +00:00
Václav Slavík
a7ea63e21f split string.{h,cpp} into {string,stringimpl,arrstr}.{h,cpp} to make the files more managable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45098 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-28 11:35:07 +00:00
Václav Slavík
a962cdf410 re-enabled using std::string for wxStringImpl if wxUSE_STL again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45095 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-28 09:37:34 +00:00
Václav Slavík
8f93a29f8e Preparing wxString for UTF-8 representation:
1) split into wxStringImpl class that has std::string-like API and operates on char* or wchar_t* data and wxString class that provides Unicode iterators and indexes
2) added both char* and wchar_t* versions of many wxString methods to avoid having to use _T()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-26 20:28:04 +00:00
Václav Slavík
2233af93b0 remove wxStringBase::AllocCopy(), it wasn't used anywhere
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45053 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-25 19:46:05 +00:00
Václav Slavík
76046d7390 compilation fix after STL fixes if 2.8 compatibility is enabled
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-20 08:14:06 +00:00
Václav Slavík
992527a573 fixed compilation if wxUSE_STL=1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44959 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-19 19:23:33 +00:00
Vadim Zeitlin
abbb59e8eb added wxJoin and wxSplit functions (modified patch 1638950)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-18 14:43:41 +00:00
Václav Slavík
c9f7896861 first phase of transition to unified Unicode build:
1. changed c_str() to return wxCStrData (implicitly convertible to wxChar*)
2. added template type-safe wrappers for vararg functions
3. added wxUniChar class representing single Unicode character
4. changed wxString::operator[] and wxString::iterator to return wxUniChar


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-17 10:26:10 +00:00
Václav Slavík
b7452b3a0e removed wxArrayString casting hack, it doesn't work with the new wxString class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-16 12:57:46 +00:00
Václav Slavík
d8a4b666cf deprecated wxString::GetWriteBuf() and friends in favour of wxStringBuffer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-07 20:01:52 +00:00
Vadim Zeitlin
c1dc9f8394 removed WXWIN_COMPATIBILITY_2_4 from common and wxMSW files (patch 1675546)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-07 11:35:04 +00:00
Václav Slavík
001ad728a4 changed wxArrayString::m_pItems from wxChar* to const wxChar*, the strings are not modified by the class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-02-24 15:19:16 +00:00
Vadim Zeitlin
f2bbe5b675 fixes and workarounds to return value of our own wxVsnprintf_() implementation: handle -1 as error and not an indication that there is not enough space (patch 1623077)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44122 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-07 16:17:28 +00:00
Vadim Zeitlin
c56d73fe00 NUL terminate the string in UngetWriteBuf(len) (bug 1594189)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43685 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-27 15:03:06 +00:00
Michael Wetherell
b2c31089c2 Make the function passed to wxStringToIntType a template parameter instead of
assuming its type.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-10 16:00:44 +00:00
Vadim Zeitlin
9129836e62 wxArrayString::Alloc() shouldn't clear the array contents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-08 18:52:43 +00:00
Włodzimierz Skiba
122f3c5dc0 Simplest fix received from OW community (Peter C. Chapin).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 18:40:50 +00:00
Włodzimierz Skiba
92df97b87b wxWinCE build fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 18:06:44 +00:00
Vadim Zeitlin
ead067dedf slightly reduce the number of #ifndef __WATCOMC__
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42708 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 11:20:11 +00:00
Włodzimierz Skiba
bca6a3a555 Temporary ugly trick to make release for OpenWatcom possible.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42707 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 11:08:48 +00:00
Vadim Zeitlin
64f8f94ca0 deal correctly with vsnprintf() implementations which always NUL-terminate the buffer, even if there is not enough space (recent glibc ones do it like this)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-29 15:51:10 +00:00
Vadim Zeitlin
d6718dd17b added wxString::ToLongLong() and ToULongLong() (feature request 1290937)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42581 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-28 16:46:03 +00:00
Vadim Zeitlin
e71e5b3726 also reset errno iin ToDouble()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-28 15:42:28 +00:00
Vadim Zeitlin
4ea4767ef9 reset errno before testing it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-28 15:41:32 +00:00
Vadim Zeitlin
619dcb095e extracted common code of ToLong and ToULong in a separate template helper
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-28 15:24:07 +00:00
Vadim Zeitlin
bda041e561 check for under/overflow in ToLong/ULong/Double() as well
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-28 14:58:56 +00:00
Václav Slavík
422d020d99 fixed the check in previous commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41824 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-09 18:47:20 +00:00
Václav Slavík
a425518dc4 assert if wxString(void* pStart,void *pEnd) ctor is used incorrectly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-09 18:37:33 +00:00
Vadim Zeitlin
e66eb2dfae fixed Contains() to pass the unit test (didn't work for empty strings)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41487 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-28 11:38:51 +00:00
Vadim Zeitlin
639e001d87 removed operator>>(istream&, wxString&) -- it's better to not have it at all than have an empty function which compiles but doesn't work
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41338 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-20 23:59:17 +00:00
Włodzimierz Skiba
32c62191d7 Final fix for Bug #1472688 'wxString::Trim() is broken'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-15 23:21:28 +00:00
Włodzimierz Skiba
d4d02bd565 Code symetry for both directions of trimming towards fixing bug #1472688.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-14 16:42:35 +00:00
Włodzimierz Skiba
3458e408ba Source cleaning.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-14 10:19:14 +00:00
Vadim Zeitlin
eaba6eba3a wxArrayString::Sort() wasn't MT-safe even though it tried to
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-03 22:32:36 +00:00
Vadim Zeitlin
3affcd078b added wxString::EndsWith() (patch 1483049)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-06 17:27:52 +00:00
Włodzimierz Skiba
8898456df4 wx/wxprec.h already includes wx/defs.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-18 07:24:35 +00:00
Vadim Zeitlin
467e04791c 1. use a manifest constant wxNO_LEN instead of -1 for lengths everywhere
2. reimplemented UTF-16/32 conversions using To/FromWChar() API instead
   of MB2WC/WC2MB for Windows (or rather SIZEOF_WCHAR_T == 2 platforms),
   the first tangible result is that reading UTF-32BE text streams now
   works too
3. more off by 1 fixes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-05 22:12:45 +00:00
Vadim Zeitlin
830f8f11bc 1. changed all "wxMBConv& conv" parameters to "const wxMBConv&"
2. this allows to use wxConvAuto() instead of wxConvUTF8 as default value
   for this parameter in the classes which read text from the file: wxConvAuto
   automatically recognizes the BOM at the start of file and uses the correct
   conversion
3. don't use Windows for UTF-7 conversions as there is no way to make it
   fail on invalid UTF-7 strings; use our own wxMBConvUtf7 instead


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-05 14:37:47 +00:00
Vadim Zeitlin
eec47cc6c4 Described in the comments and documented the semantics of the parameters and
return values of wxMBConv methods and tried to make them more consistent. The
only (intentional) backwards incompatible change is that cMB2WC/cWC2MB now
return the length of the converted string in outLen parameter and not length+1

Added wxMBConv::GetMBNul() and use it instead of supposing that all multibyte
strings are always terminated with a single NUL which is wrong for UTF-16/32.

Using GetMBNul(), completely rewrote cMB2WC/cWC2MB() to accept a string of the
specified length, whether it is NUL-terminated or not. This means that they
don't overwrite the provided buffer any more and convert the entire string in
all cases.

Fixed bug in wxMBConvUTF16::WC2MB() which didn't NUL-terminate the string
properlyv even if there was enough space.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-01 12:43:03 +00:00
Vadim Zeitlin
de2589be08 avoid multiple reallocations in wxString::PrintfV() if vsnprintf() returns the total required size
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-30 14:49:47 +00:00
Vadim Zeitlin
a815cb29f2 removed (now) unnecessary errno.h include
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-30 02:42:39 +00:00
Vadim Zeitlin
b1727cfef7 don't expect errno to be set to EOVERFLOW if vsnprintf() fails
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-29 22:59:02 +00:00
Vadim Zeitlin
17a1ebd101 first round of Intel compiler warning fixes: down from a few thousands just to slightly more than 100
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-25 19:59:19 +00:00
Vadim Zeitlin
c15b8bfd6f qsort() should be passedonly extern C functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35487 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-13 14:35:50 +00:00
Włodzimierz Skiba
7448de8d8d [1231183] 'cleanup: mismatched indentation' and other cleanings.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34914 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-22 17:08:42 +00:00
Włodzimierz Skiba
73f507f52d Prevent crash in wxString::Mid under STL builds (fixes #1231725).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34811 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-04 11:12:52 +00:00
Vadim Zeitlin
6c0b29749c fixed EOVERFLOW handlign after previous commit and also explained what's going on
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-04 19:32:53 +00:00
Vadim Zeitlin
1495b91505 replace complicated OS tests with simple ifdef EOVERFLOW in wxString::PrintfV()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-04 17:14:43 +00:00