History log of /haiku/headers/private/libroot/locale/ICUCtypeData.h
Revision Date Author Comments
# 1bad1ff3 02-Aug-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

Prepare for ICU update

- libicule and libiculx do not exist anymore in newer ICU versions
(harfbuzz replaces them), but we didn't actually use them, so remove
them from the build feature and from the package dependencies
- Add namespace usage marcos since the newer ICU packages put ICU things
in a namespace, making it easier to have multiple versions of ICU used
side by side.

No functional change intended, but this makes it possible to build the
code with either ICU 57 (for gcc2) or 66 (for other architectures).


# ec99f3b2 15-Dec-2011 Oliver Tappe <zooey@hirschkaefer.de>

Adjust mbstate_t to embed the state of the ICU converter.

* make room in mbstate_t for containing an ICU-converter's state
(well, in fact the whole converter object)
* adjust libroot's locale add-on to clone converters into a given
mbstate_t directly
* adjust ICUThreadLocalStorageValue to contain the converter pointer
instead of a converter-ID (if the converter is related to an
mbstate_t, it points into the mbstate_t).
* adjust users of converters to directly use converter pointers
instead of ICUConverterRef
* drop now unused ICUConverterManager and ICUConverterRef
* update gcc4 optional package

This brings our multibyte implementation into a fully working state,
both non-ascii and non-8-bit characters can now be handled normally
in the Terminal, i.e. this finally fixes #6276.

N.B.: Since the size of mbstate_t has changed, everything (including
the compiler!) needs to be rebuilt.


# 995d6d82 11-Dec-2011 Oliver Tappe <zooey@hirschkaefer.de>

Implement our own version of wcsrtombs().

* add WcharStringToMultibyte() to libroot's locale backend
* implement wcstombs(), wcsrtombs() and wcsnrtombs() on top of that
new backend function


# 73186b2f 07-Dec-2011 Oliver Tappe <zooey@hirschkaefer.de>

Add implementation of mbsrtowcs() to our locale backend.

* add MultibyteStringToWchar() to ICU locale backend
* implement mbsrtowcs() and mbsnrtowcs() on top of
MultibyteStringToWchar()
* drop respective glibc files


# c894d186 23-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Bring rewritten multibyte-support into repository.

* update copyrights of locale backend files

Multibyte-support has been rewritten to use ICU as backend.
While this does not necessarily work properly in every aspect
(e.g. the shell still has [different] problems with multibyte-
characters now), it does fix #6263 and #7700.


# 28ae43d0 22-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Add multibyte-support to ctype-locale backend.

* add actual converter methods MultibyteToWchar() and WcharToMultibyte()
to locale backend and implement them in the ctype subpart
* add management code for maintaining converters referenced by mbstate_t


# bf5ff480 22-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Use TLS and converter manager in locale backend.


# 25dc253d 22-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Merged weak-symbols branch.
* Fixed trivial merge conflict in src/system/libroot/posix/locale/nl_langinfo.cpp
* Fixed gcc 2 compilation of src/system/glue/init_term_dyn.c.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39571 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6a5dacaa 18-Sep-2010 Oliver Tappe <zooey@hirschkaefer.de>

part1 of fixing #6599:
* protect against invocations of ctype-macros/-functions with negative
character indices by mirroring the corresponding values at negative
array indices (the legal access range of __ctype_b is now [-128..255])


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38708 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a4823efd 24-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

Fix problems with sed and gcc caused by reintegration of posix-locale:
* support invocation of ctype/wctype macros with EOF/WEOF (-1), which would
access more or less random memory before - I don't know why this worked
more or less reliably for the POSIX locale, but it didn't for any other


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37730 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a3f66598 23-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* reintegrated posix-locale

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37725 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ec99f3b2a665ab678c6c8ae3c7bd1c6a0d34fb68 15-Dec-2011 Oliver Tappe <zooey@hirschkaefer.de>

Adjust mbstate_t to embed the state of the ICU converter.

* make room in mbstate_t for containing an ICU-converter's state
(well, in fact the whole converter object)
* adjust libroot's locale add-on to clone converters into a given
mbstate_t directly
* adjust ICUThreadLocalStorageValue to contain the converter pointer
instead of a converter-ID (if the converter is related to an
mbstate_t, it points into the mbstate_t).
* adjust users of converters to directly use converter pointers
instead of ICUConverterRef
* drop now unused ICUConverterManager and ICUConverterRef
* update gcc4 optional package

This brings our multibyte implementation into a fully working state,
both non-ascii and non-8-bit characters can now be handled normally
in the Terminal, i.e. this finally fixes #6276.

N.B.: Since the size of mbstate_t has changed, everything (including
the compiler!) needs to be rebuilt.


# 995d6d827f60efc46a0fcb29d3b9ea8226188339 11-Dec-2011 Oliver Tappe <zooey@hirschkaefer.de>

Implement our own version of wcsrtombs().

* add WcharStringToMultibyte() to libroot's locale backend
* implement wcstombs(), wcsrtombs() and wcsnrtombs() on top of that
new backend function


# 73186b2fcd3d7af7b513f0f9c4a481315d0579bc 07-Dec-2011 Oliver Tappe <zooey@hirschkaefer.de>

Add implementation of mbsrtowcs() to our locale backend.

* add MultibyteStringToWchar() to ICU locale backend
* implement mbsrtowcs() and mbsnrtowcs() on top of
MultibyteStringToWchar()
* drop respective glibc files


# c894d1868ef1d23e5536bfdbd8608402cef14607 23-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Bring rewritten multibyte-support into repository.

* update copyrights of locale backend files

Multibyte-support has been rewritten to use ICU as backend.
While this does not necessarily work properly in every aspect
(e.g. the shell still has [different] problems with multibyte-
characters now), it does fix #6263 and #7700.


# 28ae43d0339118e569c3a0ba1443b3befbb40a38 22-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Add multibyte-support to ctype-locale backend.

* add actual converter methods MultibyteToWchar() and WcharToMultibyte()
to locale backend and implement them in the ctype subpart
* add management code for maintaining converters referenced by mbstate_t


# bf5ff48092a49e5055f86154063d72b695cbe1db 22-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Use TLS and converter manager in locale backend.


# 25dc253d6ab28ce204fa4de2d3e7a27d167fc817 22-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Merged weak-symbols branch.
* Fixed trivial merge conflict in src/system/libroot/posix/locale/nl_langinfo.cpp
* Fixed gcc 2 compilation of src/system/glue/init_term_dyn.c.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39571 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6a5dacaa3c151047c5854f769e763deef31753ea 18-Sep-2010 Oliver Tappe <zooey@hirschkaefer.de>

part1 of fixing #6599:
* protect against invocations of ctype-macros/-functions with negative
character indices by mirroring the corresponding values at negative
array indices (the legal access range of __ctype_b is now [-128..255])


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38708 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a4823efd7d6f3d7ce09f188afb7bfccc592ad6e4 24-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

Fix problems with sed and gcc caused by reintegration of posix-locale:
* support invocation of ctype/wctype macros with EOF/WEOF (-1), which would
access more or less random memory before - I don't know why this worked
more or less reliably for the POSIX locale, but it didn't for any other


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37730 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a3f665982e2e078ba42e7bf941bd5f3dd8989c55 23-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* reintegrated posix-locale

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37725 a95241bf-73f2-0310-859d-f6bbb57e9c96