Commit Graph

28 Commits

Author SHA1 Message Date
joerg 9d4bdfc640 Use MAP_FAILED and NULL. 2009-03-10 13:15:40 +00:00
christos 461a86f9bd merge christos-time_t 2009-01-11 02:45:45 +00:00
tnozaki 52ed7b035f 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.
2009-01-02 00:20:18 +00:00
martin ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
martin 93310937f3 Avoid munmap(-1, ...) - doesn't make much sense. 2007-12-28 00:39:32 +00:00
christos 03256c6e55 WARNS=4 2005-11-29 03:11:58 +00:00
lukem 88c3eadbfa Add missing __RCSID() 2005-06-12 05:21:25 +00:00
tshiozak 09e09c2c2c make sure CITRUS=no to work. 2004-07-21 20:27:46 +00:00
tshiozak 8ad8061809 use _citrus_lookup_alias() instead of __unalias(). 2004-07-21 14:17:22 +00:00
yamt 2dda35340b - implement NL_CAT_LOCALE.
- make catopen check nls alias database.
2002-02-13 07:48:49 +00:00
sommerfeld a23abe2028 Fix possible one-byte overrun 2000-09-30 16:47:26 +00:00
tshiozak fcc188c19e Disallow '/' character in LC_* and LANG environment variable, and
prevent to look up PATH_LOCALE and NLSPATH on setuid/setgid executable.
This is important to prevent to cause some kind of security hole.
2000-09-08 20:56:36 +00:00
lukem b48252f365 * use _DIAGASSERT() to check pointer arguments against NULL and file
descriptors against -1 (as appropriate).
* add actual checks which to detect stuff that would trigger_DIAGASSERT(),
  and attempt to return a sane error condition.
* knf some code
* remove some `register' decls.

the first two items result in the addition of code similar to the
following in various functions:

		_DIAGASSERT(path != NULL)
	#ifdef _DIAGNOSTIC
		if (path == NULL) {
			errno = EFAULT;
			return (-1);
		}
	#endif
1999-09-16 11:44:54 +00:00
mycroft 9f5f4ac699 Make some needed weak aliases. 1999-08-17 03:58:39 +00:00
christos 38676913cd delint 1998-11-15 17:39:20 +00:00
mycroft 4462053ab3 Fill in missing (default) mmap(2) flags. 1998-02-20 09:27:18 +00:00
jtc 87f4ccd45f Fix files using old TNF copyright notice 1997-07-30 22:53:50 +00:00
christos 4515f6e82b Use "namespace.h"
Fix RCSID's
1997-07-13 19:58:34 +00:00
mrg 071eac5167 KNF. 1997-04-22 12:27:34 +00:00
jtc 3a375fb249 Merged in changes from branch (make sure all memory, file descriptors,
mappings, etc. are freed and return (nl_catd) -1 on error).   Also fix
one minor bug and clean up NLSPATH parsing a bit more.
1996-06-21 06:21:04 +00:00
jtc 749fcbc59b Ensure user can't make us overrun fixed sized buffers. 1996-06-20 18:47:08 +00:00
jtc c40394d175 Fix NLSPATH processing --- catopen was not processing beyond the first
colon.  Try all paths in NLSPATH as per XPG4.2.  Expand %l, %t, and %c
to nothing.  Should be language, territory, and codeset.
1996-06-20 14:54:38 +00:00
jtc adfd5ba766 New message catalog implementation that uses a more efficient machine
independent external format.  The new format is like what is used on
svr4 systems, except it uses fixed sized fields and a constant byte
order.
1996-05-13 23:29:32 +00:00
jtc f86410093b Changed name of __weak_reference() to __indr_reference(). They really
are indirect references, and I want to add a real __weak_reference()
macro to <machine/cdefs.h> soon.
1995-03-23 19:58:48 +00:00
cgd 7ce7ea9415 fix Ids 1995-02-27 13:06:20 +00:00
cgd 9e3970d80f make the char *'s that some of these routines take/return __const.
It quiets some warnings, and is the 'right thing' anyway.
1994-12-20 16:18:16 +00:00
jtc 6dca60107b XPG3 says that catclose returns an int.
Changed manpages to note that cat*() functions conform to XPG3.
Changed "private" versions of functions to have only one leading
underscore.
1994-11-18 15:36:11 +00:00
jtc 56fa6d53b4 Public versions of catopen(), catgets(), and catclose().
Implemented with weak references if they are supported, otherwise by
function calls that call the private versions.
1994-10-06 05:44:39 +00:00