Commit Graph

9 Commits

Author SHA1 Message Date
tshiozak 8328c33b65 rename _CTYPE_x to _RUNETYPE_x for avoiding compile error on FreeBSD. 2003-03-10 21:18:48 +00:00
tshiozak dc7d18ff88 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.
2002-03-17 22:14:05 +00:00
yamt d14a2355eb sync with latest Citrus XPG4DL.
- mbsrtowcs/wcsrtombs
	- when conversion stopped with terminating-null, set *src null-pointer.
	- if dst isn't null, ignore len.
	- fix how to treat ___mbrtowc
- mbrtowc
	- fix problem that terminating null charactor wasn't stored.
	- fix problem with stateful encoding.
		(when src points to escape sequence + '\0', mbstate wasn't initialized)
	- fix return value when restarted.
		XXX euctw and big5 are not tested.
- iso2022-jp
	- fix mbrtowc with imcomplete sequence.
- etc
	- make sure mbstate is initialized. (___rune_initstate is called)
		primarily to fix mbsinit for iso2022.
	- sync citrus Id
2001-06-21 02:20:24 +00:00
kleink 08c6392504 Need <limits.h> in _CTYPE_PRIVATE environments. 2001-04-17 20:12:31 +00:00
itojun 98641ce4a4 workaround for PR 11993. when we read in old locale file,
- don't really trust _B in the file.
- generate derived bits at runtime - like _CTYPE_R.

TODO: update ctype.h so that it look at RunLocale table.
2001-01-21 03:49:02 +00:00
lukem 2e9d6ac8c1 sprinkle in _DIAGASSERT() as appropriate 2001-01-03 15:23:26 +00:00
itojun 4ab94d919b sync citrus Id part with citrus repository. 2000-12-28 05:27:35 +00:00
itojun ce0a5e58ed cope with runeglue.c failure better 2000-12-22 22:51:22 +00:00
itojun 408f4697a6 first import of citrus LC_CTYPE locale. singlebyte only at this moment.
shot-term TODO:
- enable multibyte locales.  this includes loadable locale modules
  (#ifdef DLRUNE).
- populate LC_CTYPE definition files.
- other functions such as iconv()
- make libc functions more friendly with multibyte.
- multilingualize other LC_xx
- torture tests

XXX don't forget to "make depend" when you rebuild libc, multibyte.c is
moved from lib/libc/stdlib to lib/libc/locale.
2000-12-21 11:29:47 +00:00