Commit Graph

359 Commits

Author SHA1 Message Date
joerg
85a67e61f7 Add mbsnrtowcs and wcsnrtombs. Approved by core. 2013-05-28 16:57:56 +00:00
joerg
e0ac190e1e Provide explicit LC_C_LOCALE accessor and drop the various NULL checks.
Provide LC_GLOBAL_LOCALE in a way that works with all locale functions.
Merge constant data used by the initial global locale and the C locale.
Drop function call layer for _current_locale() and directly return the
locale reference, not a pointer to it. Use protected access for global
variables, so that libc references can avoid the GOT overhead.
2013-05-17 12:55:56 +00:00
joerg
81d0329e8d Make that to process PATH_LOCALE the first time _find_category is
called. Use this to implement newlocale and provide duplocale/freelocale
as well. Based on patches by Takehiko Nozaki with simplications and fix
for the init order by myself.
2013-04-30 00:45:04 +00:00
joerg
99fac95b50 Store time-specific locale data directly in the locale.
Ad dstrftime_l, strftime_lz and strptime_l.
2013-04-21 17:45:46 +00:00
joerg
3c1c8515c7 Add MB_CUR_MAX_L. 2013-04-19 14:35:31 +00:00
joerg
10e0e4a06b Add wcscoll_l, wcsxfrm_l, wcsncasecmp_l, wcscasecmp_l, btowc_l,
mbrlen_l, mbsinit_l, mbsrtowcs_l, wcrtomb_l, wcsrtombs_l and wctob_l.
2013-04-18 23:24:26 +00:00
joerg
9a7fa6ff3c Add wcstof_l, wcstod_l and wcstold_l. 2013-04-18 22:23:17 +00:00
joerg
ceb51ddcad Add mblen_l, mbstowcs_l, wctomb_l, mbtowc_l and wcstombs_l. 2013-04-18 22:22:20 +00:00
joerg
6ffcdd8d70 Add localeconv_l. 2013-04-17 20:40:13 +00:00
joerg
444e318434 Add support for wcstoimax_l and friends. 2013-04-16 16:52:13 +00:00
joerg
b7970e3b60 Add wcwidth_l, wcswidth_l and the wctype.h family of *_l functions. 2013-04-16 11:39:13 +00:00
joerg
a952f5938e Provide a const copy of global_locale for libc-internal use.
This will be used by *_l when a NULL pointer is given.
2013-04-14 23:44:53 +00:00
joerg
14b179f1c9 Rename struct _locale_impl_t to struct _locale, since it will end up as
locale_t later.
2013-04-14 23:30:15 +00:00
joerg
e8fa8f4db7 Extend ctype classification table to 16bit. Based on patch by
Takehiko Nozaki, with changes to compile fail when using the old names
and to exploit __BUILD_LEGACY
2013-04-13 10:21:20 +00:00
wiz
6c95282a11 Restore RCS Id lost in previous. 2012-08-08 20:16:50 +00:00
tnozaki
277ab1b54d fix PR lib/46781 statically compiled bash makes locale loading fail.
analyzed and  patch provided by enami@ nonaka@ obache@ soda@, thanks.
patch modified by me.
2012-08-08 18:37:26 +00:00
abs
9e66e6d75e Update old-style definitions to ANSI, remove a couple of register
definitions along the way. Fixed gcc 4.1 build (thank you vax)
2012-06-25 22:32:43 +00:00
christos
3d365e7447 fix old style definitions; XXX: gcc should have picked them up but it did not. 2012-06-24 15:26:02 +00:00
christos
56a2b6ea32 cast CHAR_MAX to (char) for unsigned character machines 2012-03-21 14:11:24 +00:00
matt
504f867176 Use C89 Prototypes.
Remove use of __P
2012-03-20 17:44:17 +00:00
tnozaki
2f142eb3e0 don't use __link_set_* stuff for locale implementation.
patch reviewed by matt@, thanks.
2012-03-04 21:14:55 +00:00
joerg
0f5f511fae Remove code for CITRUS!=yes. 2012-01-20 16:31:29 +00:00
joerg
726d8a62b9 _runetype_from_ctype is unused 2012-01-18 14:22:27 +00:00
christos
9292cfb210 close on exec fixes:
- open + fcntl -> open O_CLOEXEC
- configuration database file descriptors that can stay open are now opened
  fopen(db, "re")
2011-10-15 23:00:01 +00:00
christos
a9157d7432 annotate that some functions use non-literal format strings. 2011-08-14 09:07:37 +00:00
jruoho
ff8dfca355 Xref tm(3). 2011-04-14 05:50:49 +00:00
joerg
6c7179c5fb Remove support for the old BSDCTYPE format. 2011-03-25 00:45:24 +00:00
mbalmer
7d564f115e Crosslink wcstombs(3) and mbstowcs(3). 2011-03-16 09:32:12 +00:00
wiz
3d3c5d42cb Observe the following spelling:
- wide character (noun)
- wide-character (adjective)

Inspired by jmc@OpenBSD.
2010-12-16 17:42:25 +00:00
joerg
674a655551 Prefix ctype bitmask macros with _CTYPE 2010-12-14 02:28:57 +00:00
tnozaki
96bcb898d4 variable must to be nul terminated before "CODESET=foo".
ISO2022 module doesn't understand this and may fail setlocale(3).
2010-11-30 15:25:05 +00:00
tnozaki
51c2514072 fix cross build breakage mklocale(1).
move inline finction that uses sys/ctype_bits.h to runetype_misc.h.
2010-06-20 02:23:15 +00:00
tnozaki
197b699328 null terminate 2010-06-19 14:48:16 +00:00
tnozaki
3cc4120729 1. refactoring new locale-db(RuneCT10) loading method with mmap(2).
2. remove unused field from _RuneLocale.
3. localeio(CITRUS=no) can read new locale-db(RuneCT10) now.
2010-06-19 13:26:51 +00:00
tnozaki
2a7af30c36 1. split runetype_local.h -> runetype_file.h
and remove renameing _Rune* -> _NBRune* namespace protection.

   FreeBSD traditionaly exposes struct _Rune* in runetype.h
   which included by ctype.h. it may cause conflicting type error
   in our cross build process, former we use renaming namespace
   to avoid this problem, now i reworked more resonable way.

2. merge rune_local.h to runetype_local.h, and remove it.
3. split bsdctype.h -> bsdctype_{file,local}.h
2010-06-13 04:14:56 +00:00
tnozaki
4935b908f2 s/_CTYPE_NUM_CHARS/_CTYPE_CACHE_SIZE/ 2010-06-12 18:02:31 +00:00
tnozaki
fd847aaa33 stop to renaming _CTYPE_* -> _RUNETYPE_*. 2010-06-12 05:54:05 +00:00
tnozaki
9efec5bce3 1. MB_LEN_MAX switch MD to MI.
2. unfortunately hppa's MB_LEN_MAX is defined incorrectly 6 instead of 32
   so we have to add more setlocale(3) __RENAME func, __setlocale50.
3. move setlocale1.c and setlocale32.c to lib/libc/compat/locale/*
   prepareing for next libc major crunk.
4. bump libc minor version.
2010-06-07 13:52:28 +00:00
tnozaki
0ab294f640 remove unused magic. 2010-06-05 16:37:13 +00:00
tnozaki
a07e73ee74 uint8_t -> unsigned char, int16_t -> short. 2010-06-02 16:04:52 +00:00
tnozaki
bf280d2720 remove duplicated towctrans internal function. 2010-06-02 15:47:25 +00:00
tnozaki
d8217122b9 refactoring old locale-db(BSDCTYPE) loading method with mmap(2). 2010-06-01 18:00:28 +00:00
tnozaki
9a35d7972b more split ctype.h -> sys/ctype_inline.h, sys/ctype_bits.h 2010-06-01 13:52:07 +00:00
tnozaki
cdd31057f2 remove redundant guard. 2010-05-30 11:36:12 +00:00
tnozaki
cd71bcf609 1. fix build problem CITRUS=no
2. make CITRUS={yes,no} knob friendly with libc/compat.
2010-05-30 08:28:53 +00:00
tnozaki
04cc7786fc rework bulid breakage problem on linux.
ldef.h: s/1<<8/_CTYPE_CACHE_SIZE/
ctype_local.h: use limits.h instead of machine/limits.h
runetype_local.h: don't use HAVE_NBTOOL_CONFIG as evil way.
2010-05-22 18:15:21 +00:00
tnozaki
99f737b9cb fix cross build breakage under linux box, reported by Andreas Gustafsson, thanks!
runetype_local.h: don't include ctype_local.h when toolchain build.
2010-05-22 17:47:25 +00:00
tnozaki
b18f206e58 move __mb_len_max_runtime from rune_local.h -> setlocale_local.h. 2010-05-22 13:50:02 +00:00
tnozaki
bbed57c2e0 make _locale_impl_t.cache as pointer to maintain easily binary compatibility in future.
no ABI change was made.
2010-05-22 13:15:59 +00:00
tnozaki
9763c57c60 rune.h is not public, so merge with rune_local.h 2010-05-22 07:18:43 +00:00