Commit Graph

370 Commits

Author SHA1 Message Date
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
Michael Wetherell
5dc6072884 Compilation fix for djgpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33822 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-22 13:23:47 +00:00
Michael Wetherell
368bb66293 No EOVERFLOW on openbsd
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-16 17:13:14 +00:00
Włodzimierz Skiba
7220e45533 Simpler for readable diffs in future new ports.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-15 16:47:28 +00:00
Włodzimierz Skiba
ad5bb7d6a6 Sending wxChar* outputs pointer instead of text under Borland.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-13 17:53:28 +00:00
Ryan Norton
2df0258e2b fix wxString::Replace when new strings are longer than old string
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-11 09:05:40 +00:00
Ryan Norton
92413909e8 Get rid of superflous if statement - taken care of by the following for loop
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-09 06:42:42 +00:00
Ryan Norton
510bb7480c REWRITE wxStringBase::append and wxString::Replace.
This had to be done because they did not take into account null characters.
([ 1179490 ] wxString::Replace() truncates strings containing null bytes) notified me of this.
Please test and let me know of any problems!


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-08 22:53:27 +00:00
Stefan Neis
33cc6200a8 Compilation fix for old OS/2 compilers.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33128 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-28 19:21:09 +00:00
David Elliott
d95fb7ebf8 EOVERFLOW is not available on classic Mac OS.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-27 04:15:30 +00:00
Julian Smart
d44d0cbd73 Added C/wxString array constructors to wxArrayString
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33074 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-26 14:18:56 +00:00
Vadim Zeitlin
ce76f779c6 added wxString ctor from std::string (inside #ifdef wxUSE_STD_STRING); removed pragma interface/implementation which force all inline functions to be defined in string.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-20 15:42:41 +00:00
Włodzimierz Skiba
ba9bbf1388 'Dummy' warning fixes (might be used uninitialized).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32826 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-14 20:00:42 +00:00
Jouk Jansen
dbbd41ae33 Committing in .
OpenVMS compile support updates

 Modified Files:
 	wxWidgets/setup.h_vms wxWidgets/src/common/descrip.mms
 	wxWidgets/src/common/string.cpp
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-03 12:52:43 +00:00
Włodzimierz Skiba
84f5e95e86 Don't use the 'unix-like' check for Palm.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-28 21:14:43 +00:00
Julian Smart
9a08c20ec2 MSW doesn't have EOVERFLOW, WinCE additionally doesn't have errno.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-28 11:31:20 +00:00
Ryan Norton
2c47c53728 fix for bug raised in patch [ 1145715 ] endless loop in wxString::PrintV
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32448 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-28 02:47:51 +00:00
Vadim Zeitlin
94ac840b49 oops, fixed crash introduced in last check in
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-19 22:53:22 +00:00
Vadim Zeitlin
a6ed2b09a3 set string length to 0 in AllocBeforeWrite() just to be tidy (replaces patch 1123226)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-19 22:46:06 +00:00
Ryan Norton
83efadb7f3 [ 1123124 ] wxStringBase::Alloc can change string length
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-18 03:53:56 +00:00
Ryan Norton
c08d805c5a [ 1123256 ] wxString operator+ pre-allocates buffer then throws it away ---- and ---- [ 1123195 ] Avoid double-copy in two wxStringBase functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32081 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-15 19:12:36 +00:00
Ryan Norton
f68ca36e0d Fix eval order of arguments...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31874 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-09 17:40:10 +00:00
Włodzimierz Skiba
eecb33b018 Old API deprecated. Use new and remove old usage where necessary.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31305 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-01-10 17:21:16 +00:00
Ryan Norton
2cbfa061b4 Correct mistakes in wxStripExtension - correct wxString::npos. Spurred by 1073642 filefn.cpp StripExtension(wxString &)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-12-01 23:55:42 +00:00
Ryan Norton
2c09fb3b8b wxMemxxx --> wxTmemxxx, get rid of wxdocmpxxx impossible case
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-21 17:44:40 +00:00
Ryan Norton
f5fb687186 final cleanup of string conversion with null characters (hopefully :))
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30320 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-06 08:23:50 +00:00
Ryan Norton
6e394fc623 cast fix, workaround for pickeir compilers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-05 16:33:47 +00:00
Ryan Norton
59059feb40 rest of 1061091, clean up define a bit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30289 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-05 16:06:54 +00:00
Włodzimierz Skiba
be7eecf834 Make internal type for ToAscii conversion written once but do not forget all necessary type casts (aka warning fix).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30269 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-04 20:22:44 +00:00
Ryan Norton
35b4f9cae1 wxdocmpnocase fixup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30252 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-04 17:47:33 +00:00
Ryan Norton
dbb6c0a968 fix const error on sane (not msvc) compilers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30196 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-31 06:13:18 +00:00
Ryan Norton
e4e3bbb447 solution to wxMBConv stuff - make a seperate XX2XX for strings of a specified length, use this in wxString instead of previous worst-case method
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-30 20:16:25 +00:00
David Elliott
c096ba5ea1 Make wxString::WorstEncodingCase take a const wxMBConv&
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-30 05:33:47 +00:00
Ryan Norton
03ff8fda8d Add wxString::WorstEncodingCase, other various cleanups
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-29 21:06:28 +00:00