Home | History | Annotate | Download | only in modules
History log of /src/lib/libc/citrus/modules/citrus_big5.c
RevisionDateAuthorComments
 1.15  24-Jun-2014  spz branches: 1.15.18;
Fix our iconv version for the issues that apply to us from CVE-2014-3951
(which are the:
- Consistently pass around context information using a simple pointer.
This fixes some dereferencing bugs in Chinese character set conversions.
- Fix Simplified Chinese character set conversions by switching around the
fields of an internal struct so it corresponds with the way variables of
this type are initialised.
part)
Patch taken from FreeBSD and mutilated to fit.
FreeBSD credits: Manuel Mausz (reporter), Tijl Coosemans (report handler)
 1.14  28-May-2013  joerg branches: 1.14.4;
Add mbsnrtowcs and wcsnrtombs. Approved by core.
 1.13  23-May-2011  joerg branches: 1.13.4; 1.13.10;
Make intermediate size variable size_t like the rest to avoid
unnecessary casting.
 1.12  14-Jun-2008  tnozaki branches: 1.12.6;
remove unused include, locale.h.
 1.11  22-Nov-2006  tnozaki branches: 1.11.16; 1.11.18;
1. add iconv support for following encodings:
Chinese Simplefied
HZ, HZ8 - 7/8bit stateful encoding, see RFC1842,1843. (libHZ)
zW - 7bit stateful encoding, see RFC1842. (libZW)
2. add citrus_prop.[ch] - parser for encoding module's init parameter strings.
 1.10  19-Jun-2006  tnozaki added Chinese Tradisional Big5 family,
Big5-2003, Big5-ETen, Big5-IBM, Big-5E, Big-5+.

``Big5 is now the alias of Big5-ETen,
if you want Unicode.org's obsolete mappings, use Big5-IBM instead.
 1.9  29-Oct-2005  tshiozak fix lib/31874.
- add _citrus_stdenc_get_state_desc() interface to get
encoding-scheme-independent encoder/decoder state descriptions.
- make sure that iconv_std module uses it to judge whether the last
sequences forms complete shift sequences.
- bump minor of i18n_module because of get_state_desc().
 1.8  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.7  26-Jun-2003  tshiozak correct wcrtomb(3) - it is not conforming to standard on handling L'\0'.
This change also affects Citrus iconv engine.
 1.6  25-Jun-2003  tshiozak Citrus iconv support (1)
add core engine of Citrus iconv and some support routines.
- iconv core (citrus_iconv)
- coded character set mapper (csmapper)
- encoding scheme database (esdb)
- standard encoding scheme handler (stdenc)
- basic character set manipulation utilities (bcs)
- mmap based infrastructure (citrus_lookup/_mmap/_memstream/_db)
- some source codes of new plugins (not built yet)
 1.5  28-Mar-2002  yamt - move _TO_CEI to template from each module/*.c.
- nuke _TO_EI and _TO_STATE.
- convert _TO_EI(cl) to _CEI_TO_EI(_TO_CEI(cl)).
- wrap long lines.
 1.4  28-Mar-2002  yamt introduce new macro _STATE_NEEDS_EXPLICIT_INIT.
and use it for encodings that needs explicit
init_state in addition to zero-fill.
 1.3  27-Mar-2002  yamt fix wcstombs: convertion should always begin with
an initial shift state. and nuke s_wcstombs.
 1.2  27-Mar-2002  yamt - change _ENCODING_MB_CUR_MAX to take a pointer to encoding info.
- don't use MB_CUR_MAX here since it's depend on current locale.
use _ENCODING_MB_CUR_MAX instead.
 1.1  17-Mar-2002  tshiozak branches: 1.1.2;
refine i18n stuffs.
- add libc/citrus directory.
this directory contains the common stuffs not only for locale
but also other facilities relating to i18n (e.g. iconv).
- To keep the binary compatibility for the ctype modules easily,
the interface between libc and the modules is simplified.
- For the future integrated extension, module pool is renamed
from "/usr/lib/runemodule" to "/usr/lib/i18n".
In the future, this directory will contain the modules for "iconv",
"collation", etc.
- some cosmetic changes.
- Bug fix for runetype.h; __attribute__((__packed__)) is placed at
the wrong position and it is invalid unintentionally.
But, the all members of the structures seem well-aligned. Thus,
this bug causes no problem, hopefully.

HEADS UP:
- /usr/lib/rumemodule is obsoleted. If you use the multibyte locales,
you need to install /usr/lib/i18n/* from sys/lib/i18n_module .
- The binary compatibility of /usr/share/locale/*/LC_CTYPE is probably kept.
Perhaps, the bug fix about __packed__ mentioned above breaks the
compatibility... Be careful especially on 64bit platforms.
 1.1.2.3  25-Apr-2002  nathanw Catch up to -current.
 1.1.2.2  22-Mar-2002  nathanw Catch up to -current.
 1.1.2.1  17-Mar-2002  nathanw file citrus_big5.c was added on branch nathanw_sa on 2002-03-22 20:42:02 +0000
 1.11.18.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.11.16.1  17-Jun-2008  yamt sync with head.
 1.12.6.2  14-Jun-2008  tnozaki remove unused include, locale.h.
 1.12.6.1  14-Jun-2008  tnozaki file citrus_big5.c was added on branch christos-time_t on 2008-06-14 16:01:08 +0000
 1.13.10.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.13.10.1  23-Jun-2013  tls resync from head
 1.13.4.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.14.4.1  10-Aug-2014  tls Rebase.
 1.15.18.5  29-Jan-2018  perseant Fix issues with trie implementation. Now passes the locale tests when __STDC_ISO_10646__ is defined, with the exception of tests requiring LC_COLLATE support.
 1.15.18.4  20-Jan-2018  perseant Use multilevel tables (tries) to convert kuten <-> unicode.
Get rid of dchains, replace with chain/rchain conversions through keys
allocated from the PUA.
 1.15.18.3  31-Jul-2017  perseant Make the compilation conditional on __STDC_ISO_10646__, so that applications
that need one of the East Asian locales but don't want __STDC_ISO_10646__
don't have to pay the penalty for it.
 1.15.18.2  21-Jul-2017  perseant Move Unicode <-> ku/ten mapping into the individual codec modules.
Mapping is based on existing iconv data for single-byte encodings,
and included for several, but not all, multibyte encodings.
 1.15.18.1  14-Jul-2017  perseant Initial commit of a mostly-working implementation of __STDC_ISO_10646__,
with collation support using the Unicode Collation Algorithm.

The conversion from men/ku/ten form to Unicode is a gross hack at present.
Fixing this, and fleshing out the LC_COLLATE locale component, are next
on the agenda.

RSS XML Feed