On Sun, 18 Jan 2015 21:57:32 -0300 Mariano Reingart wrote:
MR> One of that changes re-introduces wxWcstombs and wxMbstowcs own
MR> wxWidgets custom implementation:
MR>
MR>
https://github.com/seandepagnier/wxWidgets/commit/9f2e1b16d125a6c5adb22b72ca7213f0e71feab9
MR>
MR> These are needed due missing/broken android support, but they where
MR> removed in r75024 by VZ:
MR>
MR> > Always use standard mbstowcs() and wcstombs() functions.
MR> >
MR> > Don't provide our own (not fully functional) definitions of them and always
MR> > use the system versions as we don't support OS X 10.2 which was the last
MR> > platform where these functions didn't exist/work.
The trouble with these functions is that they not just "not fully
functional", I was uncharacteristically polite in that commit message: they
are just completely broken and basically produce complete garbage with
non-ASCII characters.
MR> Is there any objection to re-introduce the replacements?
MR> (they may be too simple and error prone in some situations, but they
MR> will help wxQt Android to advance until a better implementation is
MR> found)
I can't in good conscience object to their use without providing better
implementations and I don't know how difficult this would be (I'm sure it
should be pretty trivial for Qt which must have the required functionality
built in, but don't know about "raw" Android). But I'd really like to
somehow ensure that these functions are not accidentally used in anything
that is actually supposed to work. A warning during configure time is
almost certainly not enough to guarantee it, so we probably need a #warning
in the sources as well. Ideal, from my point of view, would be to make
these functions private to wxAndroid or wxQt to at least make certain they
are never accidentally used in the other ports.
Thanks,
VZ