(widechar<->char, widechar<>*string), based on patch from
Rimgaudas Laucius (mantis #7758)
* no longer perform compile-time widechar/string->char/ansi/
shortstring conversions if they would destroy information
(they can't cope with widechars with ord>=128). This means
that you can now properly constant widechars/widestrings
in source code with a {$codepage } set without risking that
the compiler will mangle everything afterwards
* support ESysEINVAL return code from iconv (happens if last
multibyte char is incomplete)
* fixed writing of widechars (were converted to char -> lost
information)
git-svn-id: trunk@8274 -
manager now has two extra parameterless procedures (ThreadInitProc
and ThreadFiniProc) which are called whenever a thread begins/ends,
and cwstring uses these to create separate iconv handles for
each thread (via threadvars)
* renamed UCS4 to UCS-4BE/LE, because UCS4 is not recognised by most
systems
* clean up all iconv handles on exit, and check whether they are
valid before doing so
git-svn-id: trunk@7949 -
setlocale(LC_ALL,'') per POSIX, which initialises the langinfo stuff
based on the environment variables (some OS'es do that automatically,
but at least Darwin and Solaris don't)
git-svn-id: trunk@7672 -
* iconv is in libc for solaris
* use official names for unicode encodings (UTF-16BE/UTF-16LE instead
of unofficial UNICODEBIG/UNICODELITTLE aliases, which are not supported
by solaris' iconv)
git-svn-id: trunk@7452 -
- Remove sysutils dependency by turning exception into runerror, which is
converted into exception anyway if user decides to use sysutils.
git-svn-id: trunk@5471 -