Commit Graph

255 Commits

Author SHA1 Message Date
Vadim Zeitlin
a78c43f158 initialize nulLen to 0 for all compilers as some versions of gcc don't see that it's not used if left uninitialized too (bug 1469637)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-13 12:16:38 +00:00
Vadim Zeitlin
d5bef0a323 added wxConvUI which determines the conversion used for the UI elements and can be changed from the user code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-11 00:36:24 +00:00
Vadim Zeitlin
9088c87bd0 leave enough space for the trailing NUL when converting UTF-16 to UTF-32 in Mac conversion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38603 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-06 12:43:38 +00:00
Vadim Zeitlin
8d3dd06948 added missing const to fix last commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-06 11:51:41 +00:00
Vadim Zeitlin
e27a15e146 added a cast to wxDecodeSurrogate() to fix wxMSW cross-compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-06 11:27:40 +00:00
David Surovell
ef1991645a cleanup (repeat of v197) - added whitespace around operators, some blank lines, fixed comment typos, renamed out-in vars to outBuff-inBuff
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-06 02:30:52 +00:00
Vadim Zeitlin
35d11700a5 implemented UTF-16/32 using To/FromWChar() instead of MB2WC/WC2MB for sizeof(wchar_t)==4 platforms too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-05 23:04:10 +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
David Surovell
d32a507d02 cleanup - added whitespace around operators, some blank lines, fixed comment typos, renamed out-in vars to outBuff-inBuff
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-05 18:02:26 +00:00
Vadim Zeitlin
d3478e2cf1 Mac compilation fix after last commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-05 17:10:01 +00:00
Vadim Zeitlin
d36c9347ea added wxMBConv::Clone() to be able to copy conversion objects polymorphically
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-05 16:10:08 +00:00
Vadim Zeitlin
64f56529a8 properly NUL-terminate the output in wxMBConvUTF16swap::WC2MB()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-05 15:18:05 +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
509da4510f MB2WC/WC2MB are not pure virtual any longer, implement them in terms of To/FromWChar()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38542 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-04 13:04:47 +00:00
Vadim Zeitlin
483b0434bf added new To/FromWChar() API with more reasonable semantics than old MB2WC/WC2MB; for now both coexist and the change is/should be backwards compatible
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-04 12:35:21 +00:00
Vadim Zeitlin
7ef3ab50e9 renamed GetMinMBCharWidth() to GetMBNulLen(), made it public and documented it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-04 07:49:08 +00:00
Vadim Zeitlin
69373110a5 fixed wxMBConv_iconv to work with UTF-16/32
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38529 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-02 20:03:42 +00:00
Vadim Zeitlin
39406a5d05 compilation fix for iconv call
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38527 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-02 15:59:57 +00:00
Vadim Zeitlin
c1464d9d10 replaced recently added wxMBConv::GetMBNul() with a less clever but better
working GetMinMBCharWidth(): the idea is that we can't deal with completely
arbitrary encodings anyhow using the current API as we get confused by NUL
runs in the middle of the string, so instead just deal correctly with normal
multibyte encodings, UTF-16/UCS-2 and UTF-32/UCS-4 which should cover 99.9% of
the cases


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-02 14:59:53 +00:00
David Surovell
e9531db94d fix compilation problem in prior commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-01 16:40:08 +00:00
Vadim Zeitlin
356410fc88 fixed wxMBConv_iconv::GetMBNul()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38503 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-01 15:34:42 +00:00
Vadim Zeitlin
22886fb3c3 Unix compilation fixes after last commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-01 13:38:28 +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
da12017a64 undid last (wrong) change to wxMBConvUTF16swap::MB2WC(); added comment to explain why
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-31 20:28:37 +00:00
Vadim Zeitlin
bfab25d4c4 fixed fatal buffer overwrite in wxMBConvUTF16swap::MB2WC()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38487 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-31 20:23:33 +00:00
Vadim Zeitlin
04a378342d detect some invalid UTF7 strings when decoding them in wxMBConvUTF7
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-31 20:04:07 +00:00
Vadim Zeitlin
53c174fcd5 really pass the proper output buffer size in wxMBConv_win32 round trip check, at least for the encodings without NULs such as UTF7
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-31 17:40:17 +00:00
Vadim Zeitlin
2f96d9bb8d pass proper output buffer size in round trip conversion success check in wxMBConv_win32, otherwise conversions from UTF-7 always failed for example
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-31 17:34:48 +00:00
Włodzimierz Skiba
8942f83aca wxWinCE build fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-06 23:58:27 +00:00
Václav Slavík
8902898054 fixed win32 code to not use MB_ERR_INVALID_CHARS on win version where it isn't available; roundtrip check is used instead
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37830 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-06 17:36:36 +00:00
Vadim Zeitlin
e4277538a5 set m_encoding in wxCSConv ctor from name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37409 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-09 14:58:08 +00:00
Julian Smart
3f5c62f982 Reverted semicolons patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-18 16:45:41 +00:00
Julian Smart
edef87c827 Applied patch [ 1399013 ] More removals of extraneous semicolons
Wlodek Szafran


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-18 11:46:53 +00:00
David Surovell
73c902d669 minor cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-07 06:30:25 +00:00
Michael Wetherell
4948c2b6c8 Typo, should be #if not #ifdef
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35905 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-15 19:11:05 +00:00
Michael Wetherell
ac11db3a77 Restore WC_UTF16, required for compilation on Windows
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35901 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-15 18:58:06 +00:00
Włodzimierz Skiba
38d4b1e4bc Warning fixes for BCC, VC, OW and MinGW.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-26 13:48:01 +00:00
Vadim Zeitlin
d1f024a8de fixed wide char codeset detection for systems which do support LE/BE variants (broken by recent commit)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35716 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-26 01:02:14 +00:00
Vadim Zeitlin
c2b83fddb9 added tracing code to wide char codeset detection
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35715 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-26 00:53:00 +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
Michael Wetherell
156162ece8 Memory corruption fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35657 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-24 00:16:56 +00:00
Mart Raudsepp
8907154c1a Nuke #pragma implementation/interface's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Vadim Zeitlin
cae8f1bf03 Unicode build fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35646 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-22 13:43:08 +00:00
Vadim Zeitlin
422e411e95 gcc compilation fixes after last commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-22 12:48:07 +00:00
Vadim Zeitlin
74a7eb0bf6 try all known UCS-[24] synonyms in wxMBConv_iconv, this should fix this class on IRIX (where UCS-4 is supported but neither UCS-4[LB]E nor UCS4, which were the only ones we tested, are not)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-22 12:36:17 +00:00
Vadim Zeitlin
40711af81b Unicode compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-18 20:12:52 +00:00
Vadim Zeitlin
0944fceb98 don't pass NULL pointer to printf(), this crashes Solaris printf
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-18 16:50:47 +00:00
Vadim Zeitlin
ce6f8d6fb3 added trace message to wxCSConv creation code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-18 16:40:24 +00:00
Vadim Zeitlin
8b3eb85d5e added GetAllEncodingNames(), use it to select the correct encoding name to pass to iconv_open()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-18 14:01:14 +00:00
Vadim Zeitlin
200a992309 and now it even compiles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35484 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-13 13:47:04 +00:00