| History log of /src/lib/libc/iconv/iconv.c |
| Revision | | Date | Author | Comments |
| 1.14 |
| 24-Oct-2019 |
kamil | Switch the iconv(3) prototype to the POSIX conformant variation
Remove const from the 2nd argument.
const char ** and char ** are incompatible types and it was a cost to keep the technically incompatible form for a more purist variation. NetBSD was almost the last alive OS to still keep the const argument (known leftovers: Minix and Illumos).
Keep the const form for the internal purposes inside citrus and rump.
Address the build breakage fallout in the same change.
There are no ABI changes.
Change accepted by core@.
|
| 1.13 |
| 20-Jan-2012 |
joerg | branches: 1.13.34; 1.13.40; Remove code for CITRUS!=yes.
|
| 1.12 |
| 05-Aug-2009 |
joerg | branches: 1.12.6; Revert to revision 1.8. Blindly ignoring options is not acceptable behavior and hides more problems than it is fixing.
Discussion: http://mail-index.netbsd.org/current-users/2009/02/03/msg007761.html
Approved by: core@
|
| 1.11 |
| 03-Mar-2009 |
explorer | a better method to truncate at // marks
|
| 1.10 |
| 03-Mar-2009 |
explorer | Check for NULL return from strdup()
|
| 1.9 |
| 03-Mar-2009 |
explorer | Ignore the magic // commands in iconv_open(). This was discussed on current-users about a month ago, and ignoring the options was the best suggestion.
|
| 1.8 |
| 11-Jan-2009 |
christos | branches: 1.8.2; merge christos-time_t
|
| 1.7 |
| 02-Jan-2009 |
tnozaki | Fixes PR lib/39662, shortcomings in LC_{MONETARY,NUMERIC,TIME,MESSAGES} db format. ok'ed by core and releng. (thanks for agc@, snj@ and i'm sorry for long time patience).
[libc] - localeio.[ch] and lc*.[ch] in src/lib/libc/locale was replaced by new locale-db implementation using citrus_db backend, see src/lib/libc/citrus/citrus_lc_*.[ch]. - add citrus_bcs_strtou?l.c. don't use strtou?l locale implementation internally, because they're locale-aware function. - add some stubs for multi-locale issue, see {current,global}_locale.c. - remove some obsolete file, setrunelocale.c, ___runetype_mb.c. - remove __savectype() from ctypeio.[ch].
[tools] - mklocale(1): add new option ``-t'' that generates new style LC_{MONETARY,NUMERIC,TIME,MESSAGES} locale-db format. - chrtbl(1): added ctypeio.[ch] for __savectype().
[locale-db] - added en_US.US-ASCII locale. - removed some shareable locale definition file: en_US.US-ASCII -> en_US.ISO8859-1, en_US.UTF-8 zh_CN.eucCN -> zh_CN.GB18030 and more...see src/share/locale/*/Makefile. - remove obsoleted locale sr_YU, added new locale sr_ME, sr_RS. - change locale name ja_JP.ISO2022-JP* -> ja_JP.ISO-2022-JP* for X11's locale.alias file alignments. - fix regression test, wrong wcs?width(3), NAN/INF usage.
i tested release-build following arch: i386, amd64, hpc{mips,arm,sh}, sparc64, vax.
citrus_lc_*.[ch] also can read old-plain-text style locale-db. so that backward compatibility is keeped, but lc*.[ch] can't read new citrus_db'ed locale-db and localeio.c never check sanity, so forward compatibility is broken ;-<
old mklocale(1) doesn't know -t option, so you have to rebuild toolchain.
|
| 1.6 |
| 03-Nov-2006 |
christos | branches: 1.6.24; 1.6.26; do the namespace protection properly; fixes the lint-library.
|
| 1.5 |
| 25-Apr-2005 |
tshiozak | make sure to set errno to EINVAL if _citrus_iconv_open() returns ENOENT.
|
| 1.4 |
| 02-Aug-2004 |
tshiozak | branches: 1.4.2; revert the last all changes related to iconv(3).
|
| 1.3 |
| 01-Aug-2004 |
tshiozak | make sure that the iconv(3) follows the POSIX specification; change the 2nd argument from "const char ** restrict" to "char ** restrict".
|
| 1.2 |
| 01-Jul-2003 |
tshiozak | branches: 1.2.4; add iconv_t cache. - separate shared part and context part from iconv_t. - add cache of shared part. and, bump shlib_version minor of i18n modules because iconv i/f is changed.
|
| 1.1 |
| 27-Jun-2003 |
tshiozak | Citrus iconv support(4) add iconv external I/F (iconv.h - iconv_open()/iconv()/iconv_close()) and iconv(1) utility. TODO: - bump libc minor. - add iconv data files. - create manpages: iconv_open(3)/iconv(3)/iconv_close(3)/iconv(1)/ mkesdb(1)/mkcsmapper(1).
|
| 1.2.4.1 |
| 13-May-2005 |
riz | Pull up revision 1.5 (requested by tshiozak in ticket #1491): make sure to set errno to EINVAL if _citrus_iconv_open() returns ENOENT.
|
| 1.4.2.1 |
| 01-May-2005 |
tron | Pull up revision 1.5 (requested by tshiozak in ticket #225): make sure to set errno to EINVAL if _citrus_iconv_open() returns ENOENT.
|
| 1.6.26.1 |
| 04-Jan-2009 |
christos | merge with head.
|
| 1.6.24.1 |
| 15-Jan-2009 |
snj | Pull up following revision(s) (requested by tnozaki in ticket #222): distrib/sets/lists/base/mi: revision 1.788 distrib/utils/libhack/Makefile.inc: revision 1.23 distrib/utils/libhack/Makefile: revision 1.22 etc/mtree/NetBSD.dist: revision 1.387 include/locale.h: revision 1.15 lib/libc/citrus/Makefile.inc: revision 1.6 lib/libc/citrus/citrus_aliasname_local.h: revision 1.1 lib/libc/citrus/citrus_bcs.h: revision 1.5 lib/libc/citrus/citrus_bcs_strtol.c: revision 1.1 lib/libc/citrus/citrus_bcs_strtoul.c: revision 1.1 lib/libc/citrus/citrus_csmapper.c: revision 1.9 lib/libc/citrus/citrus_fix_grouping.h: revision 1.1 lib/libc/citrus/citrus_lc_ctype.c: revision 1.1 lib/libc/citrus/citrus_lc_messages.c: revision 1.1 lib/libc/citrus/citrus_lc_messages.h: revision 1.1 lib/libc/citrus/citrus_lc_monetary.c: revision 1.1 lib/libc/citrus/citrus_lc_monetary.h: revision 1.1 lib/libc/citrus/citrus_lc_numeric.c: revision 1.1 lib/libc/citrus/citrus_lc_numeric.h: revision 1.1 lib/libc/citrus/citrus_lc_template.h: revision 1.1 lib/libc/citrus/citrus_lc_template_decl.h: revision 1.1 lib/libc/citrus/citrus_lc_time.c: revision 1.1 lib/libc/citrus/citrus_lc_time.h: revision 1.1 lib/libc/citrus/citrus_module.c: revision 1.8 lib/libc/citrus/citrus_namespace.h: revision 1.7 lib/libc/citrus/modules/citrus_euc.c: revision 1.13 lib/libc/gen/Makefile.inc: revision 1.166 lib/libc/gen/isctype.c: revision 1.17 via patch lib/libc/gen/tolower_.c: revision 1.10 lib/libc/gen/toupper_.c: revision 1.10 lib/libc/iconv/Makefile.inc: revision 1.3 lib/libc/iconv/iconv.c: revision 1.7 lib/libc/locale/Makefile.inc: revision 1.53 lib/libc/locale/___runetype_mb.c: file removal lib/libc/locale/_wctrans.c: revision 1.7 lib/libc/locale/_wctrans_local.h: revision 1.3 lib/libc/locale/_wctype.c: revision 1.1 lib/libc/locale/_wctype_local.h: revision 1.1 lib/libc/locale/aliasname.c: revision 1.3 lib/libc/locale/aliasname_local.h: revision 1.2 lib/libc/locale/bsdctype.c: revision 1.1 lib/libc/locale/bsdctype.h: revision 1.1 lib/libc/locale/ctypeio.c: revision 1.8 lib/libc/locale/ctypeio.h: revision 1.2 lib/libc/locale/current_locale.c: revision 1.1 lib/libc/locale/dummy_lc_collate.c: revision 1.1 lib/libc/locale/dummy_lc_template.h: revision 1.1 lib/libc/locale/fix_grouping.c: revision 1.1 lib/libc/locale/fix_grouping.h: revision 1.1 lib/libc/locale/generic_lc_all.c: revision 1.1 lib/libc/locale/generic_lc_template.h: revision 1.1 lib/libc/locale/generic_lc_template_decl.h: revision 1.1 lib/libc/locale/global_locale.c: revision 1.1 lib/libc/locale/iswctype.c: file removal lib/libc/locale/iswctype_mb.c: revision 1.1 lib/libc/locale/iswctype_sb.c: revision 1.6 lib/libc/locale/lcmessages.c: file removal lib/libc/locale/lcmessages.h: file removal lib/libc/locale/lcmonetary.c: file removal lib/libc/locale/lcmonetary.h: file removal lib/libc/locale/lcnumeric.c: file removal lib/libc/locale/lcnumeric.h: file removal lib/libc/locale/lctime.c: file removal lib/libc/locale/lctime.h: file removal lib/libc/locale/localeconv.c: revision 1.15 lib/libc/locale/localeio.c: revision 1.2 lib/libc/locale/localeio.h: revision 1.2 lib/libc/locale/localeio_lc_ctype.c: revision 1.1 lib/libc/locale/localeio_lc_messages.c: revision 1.1 lib/libc/locale/localeio_lc_monetary.c: revision 1.1 lib/libc/locale/localeio_lc_numeric.c: revision 1.1 lib/libc/locale/localeio_lc_time.c: revision 1.1 lib/libc/locale/multibyte.h: revision 1.4 lib/libc/locale/multibyte_amd1.c: revision 1.6 lib/libc/locale/multibyte_c90.c: revision 1.5 lib/libc/locale/nb_lc_messages_misc.h: revision 1.1 lib/libc/locale/nb_lc_monetary_misc.h: revision 1.1 lib/libc/locale/nb_lc_numeric_misc.h: revision 1.1 lib/libc/locale/nb_lc_template.h: revision 1.1 lib/libc/locale/nb_lc_template_decl.h: revision 1.1 lib/libc/locale/nb_lc_time_misc.h: revision 1.1 lib/libc/locale/nl_langinfo.c: revision 1.12 lib/libc/locale/rune.c: revision 1.31 lib/libc/locale/rune.h: revision 1.13 lib/libc/locale/rune_local.h: revision 1.11 lib/libc/locale/runeglue.c: revision 1.14 lib/libc/locale/runetable.c: revision 1.18 lib/libc/locale/setlocale.c: revision 1.55 via patch lib/libc/locale/setlocale_local.h: revision 1.1 lib/libc/locale/setrunelocale.c: file removal lib/libc/nls/Makefile.inc: revision 1.9 lib/libc/nls/catopen.c: revision 1.26 lib/libc/string/Makefile.inc: revision 1.68 lib/libc/string/wcscmp.c: revision 1.6 lib/libc/string/wcsncmp.c: revision 1.6 lib/libc/string/wcswidth.c: file removal lib/libc/string/wmemcmp.c: revision 1.4 regress/lib/libc/locale/Makefile: revision 1.4 regress/lib/libc/locale/ctype1/Makefile: revision 1.4 regress/lib/libc/locale/ctype1/en_US.UTF-8.exp.uue: revision 1.2 regress/lib/libc/locale/ctype1/ja_JP.ISO-2022-JP.exp.uue: revision 1.1 regress/lib/libc/locale/ctype1/ja_JP.ISO-2022-JP.in.uue: revision 1.1 regress/lib/libc/locale/ctype1/ja_JP.ISO2022-JP.exp.uue: file removal regress/lib/libc/locale/ctype1/ja_JP.ISO2022-JP.in.uue: file removal regress/lib/libc/locale/ctype1/ja_JP.SJIS.exp.uue: revision 1.2 regress/lib/libc/locale/ctype1/ja_JP.eucJP.exp.uue: revision 1.2 regress/lib/libc/locale/ctype2/Makefile: revision 1.5 regress/lib/libc/locale/ctype2/ja_JP.ISO-2022-JP-2.in.uue: revision 1.1 regress/lib/libc/locale/ctype2/ja_JP.ISO2022-JP2.in.uue: file removal regress/lib/libc/locale/ctype3/Makefile: revision 1.5 regress/lib/libc/locale/mbtowc/Makefile: revision 1.3 regress/lib/libc/locale/mbtowc/ja_JP.ISO-2022-JP: revision 1.1 regress/lib/libc/locale/mbtowc/ja_JP.ISO2022-JP: file removal regress/lib/libc/locale/wcstod/wcstod_test.c: revision 1.2 share/locale/Makefile.locale: revision 1.1 share/locale/Makefile: revision 1.5 share/locale/ctype/Makefile: revision 1.28 share/locale/locale.alias: revision 1.11 share/locale/messages/Makefile: revision 1.5 share/locale/messages/en_US.ISO8859-1.src: file removal share/locale/messages/en_US.US-ASCII.src: revision 1.1 share/locale/messages/ja_JP.ISO-2022-JP.src: revision 1.1 share/locale/messages/ja_JP.ct.src: revision 1.1 share/locale/messages/sr_ME.ISO8859-2.src: revision 1.1 share/locale/messages/sr_ME.ISO8859-5.src: revision 1.1 share/locale/messages/sr_YU.ISO8859-2.src: file removal share/locale/messages/sr_YU.ISO8859-5.src: file removal share/locale/messages/sr_YU.UTF-8.src: file removal share/locale/messages/zh_CN.GB18030.src: file removal share/locale/messages/zh_TW.eucTW.src: revision 1.1 share/locale/monetary/Makefile: revision 1.5 share/locale/monetary/af_ZA.ISO8859-1.src: revision 1.2 share/locale/monetary/am_ET.UTF-8.src: revision 1.2 share/locale/monetary/be_BY.CP1131.src: file removal share/locale/monetary/be_BY.CP1251.src: revision 1.2 share/locale/monetary/be_BY.ISO8859-5.src: revision 1.2 share/locale/monetary/be_BY.UTF-8.src: revision 1.2 share/locale/monetary/bg_BG.CP1251.src: revision 1.2 share/locale/monetary/bg_BG.UTF-8.src: revision 1.2 share/locale/monetary/ca_ES.ISO8859-1.src: revision 1.2 share/locale/monetary/cs_CZ.ISO8859-2.src: revision 1.2 share/locale/monetary/cs_CZ.UTF-8.src: revision 1.2 share/locale/monetary/da_DK.ISO8859-1.src: revision 1.2 share/locale/monetary/de_AT.ISO8859-1.src: revision 1.2 share/locale/monetary/de_CH.ISO8859-1.src: revision 1.2 share/locale/monetary/de_DE.ISO8859-1.src: revision 1.2 share/locale/monetary/el_GR.ISO8859-7.src: revision 1.2 share/locale/monetary/en_AU.ISO8859-1.src: revision 1.2 share/locale/monetary/en_CA.ISO8859-1.src: revision 1.2 share/locale/monetary/en_GB.ISO8859-1.src: revision 1.2 share/locale/monetary/en_GB.UTF-8.src: revision 1.2 share/locale/monetary/en_IE.UTF-8.src: revision 1.2 share/locale/monetary/en_NZ.ISO8859-1.src: revision 1.2 share/locale/monetary/en_US.ISO8859-1.src: revision 1.2 share/locale/monetary/en_US.US-ASCII.src: revision 1.1 share/locale/monetary/es_ES.ISO8859-1.src: revision 1.2 share/locale/monetary/et_EE.ISO8859-15.src: revision 1.2 share/locale/monetary/fi_FI.ISO8859-1.src: revision 1.2 share/locale/monetary/fr_BE.ISO8859-1.src: revision 1.2 share/locale/monetary/fr_CA.ISO8859-1.src: revision 1.2 share/locale/monetary/fr_FR.ISO8859-1.src: revision 1.2 share/locale/monetary/he_IL.UTF-8.src: revision 1.2 share/locale/monetary/hi_IN.ISCII-DEV.src: revision 1.2 share/locale/monetary/hr_HR.ISO8859-2.src: revision 1.2 share/locale/monetary/hu_HU.ISO8859-2.src: revision 1.2 share/locale/monetary/hy_AM.ARMSCII-8.src: revision 1.2 share/locale/monetary/hy_AM.UTF-8.src: revision 1.2 share/locale/monetary/is_IS.ISO8859-1.src: revision 1.2 share/locale/monetary/it_IT.ISO8859-1.src: revision 1.2 share/locale/monetary/ja_JP.ISO-2022-JP.src: revision 1.1 share/locale/monetary/ja_JP.UTF-8.src: revision 1.2 share/locale/monetary/ja_JP.eucJP.src: revision 1.2 share/locale/monetary/kk_KZ.PT154.src: revision 1.2 share/locale/monetary/kk_KZ.UTF-8.src: revision 1.2 share/locale/monetary/ko_KR.UTF-8.src: revision 1.2 share/locale/monetary/ko_KR.eucKR.src: revision 1.2 share/locale/monetary/lt_LT.ISO8859-13.src: revision 1.2 share/locale/monetary/mn_MN.UTF-8.src: revision 1.2 share/locale/monetary/nl_BE.ISO8859-1.src: revision 1.2 share/locale/monetary/nl_NL.ISO8859-1.src: revision 1.2 share/locale/monetary/no_NO.ISO8859-1.src: revision 1.2 share/locale/monetary/pl_PL.ISO8859-2.src: revision 1.2 share/locale/monetary/pl_PL.UTF-8.src: revision 1.2 share/locale/monetary/pt_BR.ISO8859-1.src: revision 1.2 share/locale/monetary/pt_PT.ISO8859-1.src: revision 1.2 share/locale/monetary/ro_RO.ISO8859-2.src: revision 1.2 share/locale/monetary/ru_RU.CP1251.src: revision 1.2 share/locale/monetary/ru_RU.CP866.src: revision 1.2 share/locale/monetary/ru_RU.ISO8859-5.src: revision 1.2 share/locale/monetary/ru_RU.KOI8-R.src: revision 1.2 share/locale/monetary/ru_RU.UTF-8.src: revision 1.2 share/locale/monetary/sk_SK.ISO8859-2.src: revision 1.2 share/locale/monetary/sl_SI.ISO8859-2.src: revision 1.2 share/locale/monetary/sr_ME.ISO8859-2.src: revision 1.1 share/locale/monetary/sr_RS.ISO8859-2.src: revision 1.1 share/locale/monetary/sr_YU.ISO8859-2.src: revision 1.2 share/locale/monetary/sr_YU.ISO8859-5.src: revision 1.2 share/locale/monetary/sr_YU.UTF-8.src: revision 1.2 share/locale/monetary/sv_SE.ISO8859-1.src: revision 1.2 share/locale/monetary/tr_TR.ISO8859-9.src: revision 1.2 share/locale/monetary/uk_UA.CP1251.src: revision 1.2 share/locale/monetary/uk_UA.ISO8859-5.src: revision 1.2 share/locale/monetary/uk_UA.KOI8-U.src: revision 1.2 share/locale/monetary/uk_UA.UTF-8.src: revision 1.2 share/locale/monetary/zh_CN.GB18030.src: revision 1.2 share/locale/monetary/zh_CN.UTF-8.src: revision 1.2 share/locale/monetary/zh_CN.eucCN.src: revision 1.2 share/locale/monetary/zh_HK.Big5hkscs.src: revision 1.1 share/locale/monetary/zh_HK.UTF-8.src: revision 1.2 share/locale/monetary/zh_TW.Big5.src: revision 1.2 share/locale/numeric/Makefile: revision 1.4 share/locale/numeric/am_ET.UTF-8.src: file removal share/locale/numeric/en_US.ISO8859-1.src: file removal share/locale/numeric/en_US.US-ASCII.src: revision 1.1 share/locale/numeric/ja_JP.eucJP.src: file removal share/locale/numeric/ko_KR.eucKR.src: file removal share/locale/numeric/mn_MN.UTF-8.src: file removal share/locale/numeric/sr_ME.ISO8859-2.src: revision 1.1 share/locale/numeric/sr_YU.ISO8859-2.src: file removal share/locale/numeric/sr_YU.ISO8859-5.src: file removal share/locale/numeric/zh_CN.eucCN.src: file removal share/locale/time/Makefile: revision 1.5 share/locale/time/en_US.ISO8859-1.src: file removal share/locale/time/en_US.US-ASCII.src: revision 1.1 share/locale/time/ja_JP.ISO-2022-JP.src: revision 1.1 share/locale/time/ja_JP.ct.src: revision 1.1 share/locale/time/sr_ME.ISO8859-2.src: revision 1.1 share/locale/time/sr_ME.ISO8859-5.src: revision 1.1 share/locale/time/sr_ME.UTF-8.src: revision 1.1 share/locale/time/sr_YU.ISO8859-2.src: file removal share/locale/time/sr_YU.ISO8859-5.src: file removal share/locale/time/sr_YU.UTF-8.src: file removal share/locale/time/zh_CN.GB18030.src: file removal share/locale/time/zh_TW.eucTW.src: revision 1.1 usr.bin/locale/locale.c: revision 1.6 usr.bin/mklocale/Makefile: revision 1.12 usr.bin/mklocale/lex.l: revision 1.14 usr.bin/mklocale/mklocaledb.c: revision 1.1 usr.bin/mklocale/yacc.y: revision 1.25 usr.sbin/chrtbl/Makefile: revision 1.8 usr.sbin/chrtbl/ctypeio.c: revision 1.1 usr.sbin/chrtbl/ctypeio.h: revision 1.1 Fixes PR lib/39662, shortcomings in LC_{MONETARY,NUMERIC,TIME,MESSAGES} db format. ok'ed by core and releng. (thanks for agc@, snj@ and i'm sorry for long time patience). [libc] - localeio.[ch] and lc*.[ch] in src/lib/libc/locale was replaced by new locale-db implementation using citrus_db backend, see src/lib/libc/citrus/citrus_lc_*.[ch]. - add citrus_bcs_strtou?l.c. don't use strtou?l locale implementation internally, because they're locale-aware function. - add some stubs for multi-locale issue, see {current,global}_locale.c. - remove some obsolete file, setrunelocale.c, ___runetype_mb.c. - remove __savectype() from ctypeio.[ch]. [tools] - mklocale(1): add new option ``-t'' that generates new style LC_{MONETARY,NUMERIC,TIME,MESSAGES} locale-db format. - chrtbl(1): added ctypeio.[ch] for __savectype(). [locale-db] - added en_US.US-ASCII locale. - removed some shareable locale definition file: en_US.US-ASCII -> en_US.ISO8859-1, en_US.UTF-8 zh_CN.eucCN -> zh_CN.GB18030 and more...see src/share/locale/*/Makefile. - remove obsoleted locale sr_YU, added new locale sr_ME, sr_RS. - change locale name ja_JP.ISO2022-JP* -> ja_JP.ISO-2022-JP* for X11's locale.alias file alignments. - fix regression test, wrong wcs?width(3), NAN/INF usage.
i tested release-build following arch: i386, amd64, hpc{mips,arm,sh}, sparc64, vax.
citrus_lc_*.[ch] also can read old-plain-text style locale-db. so that backward compatibility is keeped, but lc*.[ch] can't read new citrus_db'ed locale-db and localeio.c never check sanity, so forward compatibility is broken ;-< old mklocale(1) doesn't know -t option, so you have to rebuild toolchain.
|
| 1.8.2.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
| 1.12.6.1 |
| 17-Apr-2012 |
yamt | sync with head
|
| 1.13.40.1 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
| 1.13.34.1 |
| 23-Jul-2017 |
perseant | Add missing files from last commit:
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.
|