Home | History | Annotate | Download | only in modules
History log of /src/lib/libc/citrus/modules/citrus_utf8.c
RevisionDateAuthorComments
 1.18  28-May-2013  joerg branches: 1.18.22;
Add mbsnrtowcs and wcsnrtombs. Approved by core.
 1.17  14-Jun-2008  tnozaki branches: 1.17.2; 1.17.6; 1.17.26;
remove unused include, locale.h.
 1.16  06-Mar-2007  tnozaki branches: 1.16.10; 1.16.12;
disallow illegal utf-8 byte sequence and surrogate chars (RFC3629).
5-6 byte sequence(0x110000 - 0x7FFFFFFF) are still available
for backward compatibility.
 1.15  22-Mar-2006  christos Coverity CID 1440: off by one in array count.
 1.14  19-Mar-2006  christos Coverity CID 2463: Bail out instead of accessing uninitialized variables.
 1.13  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.12  11-Mar-2005  christos UTF8EncodingInfo is an empty struct; remove noop code and DIAGASSERT.
From Joerg Sonnenberger
 1.11  21-Dec-2004  yamt constify.
 1.10  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.9  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.8  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.7  25-Mar-2003  tshiozak fix the problem if EILSEQ is caused in mbrtowc(3) under *.UTF-8 locales.
(lib/20873 by khym at azeotrope dot org)
 1.6  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.5  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.4  27-Mar-2002  yamt fix wcstombs: convertion should always begin with
an initial shift state. and nuke s_wcstombs.
 1.3  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.2  18-Mar-2002  yamt branches: 1.2.2;
don't check variable s0 before assign.
 1.1  17-Mar-2002  tshiozak 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.2.2.3  25-Apr-2002  nathanw Catch up to -current.
 1.2.2.2  22-Mar-2002  nathanw Catch up to -current.
 1.2.2.1  18-Mar-2002  nathanw file citrus_utf8.c was added on branch nathanw_sa on 2002-03-22 20:42:03 +0000
 1.16.12.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.16.10.1  17-Jun-2008  yamt sync with head.
 1.17.26.1  23-Jun-2013  tls resync from head
 1.17.6.2  14-Jun-2008  tnozaki remove unused include, locale.h.
 1.17.6.1  14-Jun-2008  tnozaki file citrus_utf8.c was added on branch christos-time_t on 2008-06-14 16:01:09 +0000
 1.17.2.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.18.22.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.18.22.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