Commit Graph

336 Commits

Author SHA1 Message Date
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
tnozaki
64a7d4fa9a 1. hide _CTYPE_PRIVATE section in ctype.h, move them to private header ctype_local.h.
2. do not use _CTYPE_NUM_CHARS macro to read data from LC_CTYPE(old BSDCTYPE style) database.
   because 1<<CHAR_BIT is MD, so i added MI macro _CTYPE_CACHE_SIZE(1<<8).
3. remove _NB_CACHED_RUNE macro, use _CTYPE_CACHE_SIZE instead.
2010-05-22 06:38:15 +00:00
tnozaki
542176520a woops, fogot to include limits.h. 2010-03-28 18:19:52 +00:00
tnozaki
186e12cc6b avoid mbrtowc/wcrtomb buffer overrun when CPUARCH=hppa and MB_CUR_MAX > 6.
it is not usual case(merely used such mutibyte locale, eg. ja_JP.ISO-2022-JP).

[background]
before merging minoura-xpg4dl branch(2001), we argued and decided to increase
MB_LEN_MAX 1 -> 32 all CPUARCH(*but* we forgot to change it MD to MI).

without knowing that NetBSD/hp700(mergeing -current 2002) incorrectly set
MB_LEN_MAX=6 (maybe this value taken from FreeBSD). but our setlocale(3)
assumes __mb_len_max_runtime as 32, so that mbrtowc/wcrtomb may overrun.

we have to increase hppa's MB_LEN_MAX upto 32, and change it MD to MI
next libc major bump(scheduled next release 6.0).
2010-03-28 14:05:09 +00:00
tnozaki
377cb4e4f9 1. {wctype,wctrans,mbstate}_t: switch MD to MI like other
libc implementation (such as *BSD and glibc2).

2. don't typedef void * wc{type,trans}_t, suggested by soda@-san.
   it may pass through compiler type check, it's harmful.
   so i introduce dummy struct __tag_wc{type,trans}_t(iconv_t already does).

no ABI change was made.
2010-03-27 22:14:09 +00:00
christos
533e2fe94f fix tpo. 2010-03-27 16:47:05 +00:00
tnozaki
5ad520e6d1 _locale_cache_t: change ldata and items to pointer for future binary compatibility. 2010-03-27 15:25:21 +00:00
joerg
1c3412fa2f Use .In for header files instead of .Ar Pa and variations. 2010-03-22 19:30:53 +00:00
wiz
62523e18d5 Close file handles in error cases. Found by cppcheck. 2010-01-17 23:12:30 +00:00
enami
08464abb1e Put space after comma in the C code example. 2009-12-15 00:35:36 +00:00
uebayasi
5f297383d5 struct _locale_time_t _global_locale is a datum. Declare it as extern. 2009-12-02 08:53:03 +00:00
tnozaki
4c40fc3cdc redo: change _RUNTYPE_SW0 bit, mklocale(1) can't treat SWIDTH0 correctly. 2009-11-09 14:22:31 +00:00
tnozaki
80c3941c48 revert previous change. 2009-11-09 14:20:49 +00:00
tnozaki
5ebbcf6e82 change _RUNTYPE_SW0 bit, mklocale(1) can't treat SWIDTH0 correctly. 2009-11-09 14:17:47 +00:00
snj
550147bd6a Remove 3rd and 4th clauses in christos' license. OK christos. 2009-10-21 01:07:44 +00:00
tnozaki
6c81c0d804 fix lib/42124: setlocale(3) never returns NULL with none existing locale.
reported by kambe-san, thanks!
2009-10-04 21:05:18 +00:00
joerg
441cf5a9bb Replace physical markup with .Bl -column. 2009-03-12 12:50:31 +00:00
tnozaki
c7281b0c86 fix static linking setlocale(3) problem, reported by Aran Clauson
at current-users, thanks a lot!
2009-03-09 02:22:25 +00:00
lukem
71d48e7c9e sign-compare fixes 2009-02-12 04:57:46 +00:00
tnozaki
db74109901 PR lib/40411, nuke wctrans_init(). lazy initialization is not good idea.
statically initialized _DefaultRuneLocale.rl_wctrans field.
so we can re-const-ify _DefaultRuneLocale.

pkgsrc/shells/standalone-tcsh should be rebuild,
because it's staticaly linked binary.
2009-01-18 22:03:19 +00:00
christos
503c6c0a79 try a different approach since allocating a new RuneLocale is complicated.
Don't make DefaultRuneLocale const, so that we can write to it, and undo
previous changes.
2009-01-18 19:53:11 +00:00
christos
15d0878308 use a separate variable to copy the locale. 2009-01-17 17:56:01 +00:00
christos
361e31839f make this compile [now that I am on a machine that can compile :-)] 2009-01-16 21:18:37 +00:00
christos
826ddf7ef5 PR/40411: Hisashi T Fujinaka: standalone-tcsh dumps core when tab completing
The new rune code abuses __UNCONST to lazily initialize _RuneLocale. If
that happens to be the _DefaultRuneLocale which is const, the program will
core-dump because it will attempt to write to read-only memory. Catch this
and clone a copy of the locale and return it. The reason we don't see
everything core-dumping is because our shared library code probably loads
the text segment COW so it works (Is there an mprotect missing somewhere?).
But on statically linked binaries this is not the case and we die.

XXX[1]: Vet the code so that we are sure that there is no more of that
        happening trying to get rid of much of the __UNCONST'ing.
XXX[2]: This needs to be fixed for 5.0 and all related fixes.
XXX[3]: There is one place in the code where _DefaultRuneLocale is treated
	specially, does the patch break things?
2009-01-16 21:12:11 +00:00