* optimized LowerWideString/UpperWideString not to call UniqueString
for each string character
* fixed LowerAnsiString/UpperAnsiString in case an ascii character
has a lower/uppercase version with a different length than 1
+ generic test for ansistring comparisons using on the widestring
manager (based on glibc test)
- removed ansi2ucs4-related stuff as it's not used/needed
git-svn-id: trunk@9440 -
a widestring as end-of-string + test (which fails on Darwin/FreeBSD
in utf-8/utf-16 locales, because their libc's wcscoll is documented
as only working in single-byte locales and falling back to wcscmp
for others)
git-svn-id: trunk@9416 -
platform)
+ mbstate_t type for all unixes except BeOS (doesn't exist for BeOS)
+ implemented UpperAnsiStringProc/LowerAnsiStringProc for unix
* fixed Ansi2UCS4Move in cwstring (although it isn't used anywhere
currently)
+ test for Upper/LowerAnsiString
git-svn-id: trunk@9393 -
* correctly define the stack size for BeOS,
+ implement a minimum nl_langinfo function to correctly initialize WideString support
+ add fgl unit in the BeOS RTL makefile
* SysOSAlloc now return nil when the system can not allocate the asked memory,
* HAS_SYSOSFREE is no more defined with an empty implementation under BeOS. This was preventing FPC to reuse memory.
+ there is now a basic implementation of CheckPointer under BeOS.
git-svn-id: trunk@8994 -
(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 -
file descriptor + 1 as first parameter, select can also be EIntr)
* changed IntbasiceventWaitFor (used by syncobjs) so it can emulate
timeouts (using a loop and short sleeps) (mantis #9414)
* also added wrAbandoned support to IntbasiceventWaitFor
* enhanced tbrtlevt.pp to test new functionality
git-svn-id: trunk@8257 -
immediately terminates the whole application), but instead call
handleerrorframe (which can be converted into an exception) (#7954)
git-svn-id: trunk@8248 -
* educated guess this is the case on arm-linux as well
* temporary change: do not alias clongdouble from unixtype into ctypes to prevent
having to work in two places.
git-svn-id: trunk@8127 -
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 -