Module Name: src
Committed By: tnozaki
Date: Mon Jun 7 13:52:31 UTC 2010
Modified Files:
src/distrib/sets/lists/base: ad.mips64eb ad.mips64el md.amd64
md.sparc64 shl.mi
src/distrib/sets/lists/comp: md.amd64 md.sparc64 shl.mi
src/include: limits.h locale.h
src/lib/libc: shlib_version
src/lib/libc/citrus: citrus_lc_ctype.c
src/lib/libc/compat: Makefile Makefile.inc
src/lib/libc/locale: Makefile.inc setlocale.c setlocale_local.h
src/sys/arch/alpha/include: limits.h
src/sys/arch/amd64/include: limits.h
src/sys/arch/arm/include: limits.h
src/sys/arch/hpc/stand/include/machine: limits.h
src/sys/arch/hppa/include: limits.h
src/sys/arch/i386/include: limits.h
src/sys/arch/ia64/include: limits.h
src/sys/arch/m68k/include: limits.h
src/sys/arch/mips/include: limits.h
src/sys/arch/powerpc/include: limits.h
src/sys/arch/sh3/include: limits.h
src/sys/arch/sparc/include: limits.h
src/sys/arch/vax/include: limits.h
Added Files:
src/lib/libc/compat/arch/hppa/locale: compat_setlocale32.c
src/lib/libc/compat/include: locale.h
src/lib/libc/compat/locale: Makefile.inc compat_setlocale1.c
compat_setlocale32.c
Removed Files:
src/lib/libc/locale: setlocale1.c setlocale32.c
Log Message:
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.
To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/distrib/sets/lists/base/ad.mips64eb \
src/distrib/sets/lists/base/ad.mips64el
cvs rdiff -u -r1.89 -r1.90 src/distrib/sets/lists/base/md.amd64
cvs rdiff -u -r1.83 -r1.84 src/distrib/sets/lists/base/md.sparc64
cvs rdiff -u -r1.537 -r1.538 src/distrib/sets/lists/base/shl.mi
cvs rdiff -u -r1.67 -r1.68 src/distrib/sets/lists/comp/md.amd64
cvs rdiff -u -r1.57 -r1.58 src/distrib/sets/lists/comp/md.sparc64
cvs rdiff -u -r1.118 -r1.119 src/distrib/sets/lists/comp/shl.mi
cvs rdiff -u -r1.28 -r1.29 src/include/limits.h
cvs rdiff -u -r1.16 -r1.17 src/include/locale.h
cvs rdiff -u -r1.217 -r1.218 src/lib/libc/shlib_version
cvs rdiff -u -r1.6 -r1.7 src/lib/libc/citrus/citrus_lc_ctype.c
cvs rdiff -u -r1.4 -r1.5 src/lib/libc/compat/Makefile
cvs rdiff -u -r1.5 -r1.6 src/lib/libc/compat/Makefile.inc
cvs rdiff -u -r0 -r1.1 \
src/lib/libc/compat/arch/hppa/locale/compat_setlocale32.c
cvs rdiff -u -r0 -r1.1 src/lib/libc/compat/include/locale.h
cvs rdiff -u -r0 -r1.1 src/lib/libc/compat/locale/Makefile.inc \
src/lib/libc/compat/locale/compat_setlocale1.c \
src/lib/libc/compat/locale/compat_setlocale32.c
cvs rdiff -u -r1.56 -r1.57 src/lib/libc/locale/Makefile.inc
cvs rdiff -u -r1.57 -r1.58 src/lib/libc/locale/setlocale.c
cvs rdiff -u -r1.4 -r0 src/lib/libc/locale/setlocale1.c
cvs rdiff -u -r1.6 -r0 src/lib/libc/locale/setlocale32.c
cvs rdiff -u -r1.6 -r1.7 src/lib/libc/locale/setlocale_local.h
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/alpha/include/limits.h
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/amd64/include/limits.h
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/include/limits.h
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/hpc/stand/include/machine/limits.h
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/hppa/include/limits.h
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/i386/include/limits.h
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/include/limits.h
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/m68k/include/limits.h
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/mips/include/limits.h
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/powerpc/include/limits.h
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/sh3/include/limits.h
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/sparc/include/limits.h
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/vax/include/limits.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/distrib/sets/lists/base/ad.mips64eb
diff -u src/distrib/sets/lists/base/ad.mips64eb:1.14 src/distrib/sets/lists/base/ad.mips64eb:1.15
--- src/distrib/sets/lists/base/ad.mips64eb:1.14 Fri May 21 11:07:20 2010
+++ src/distrib/sets/lists/base/ad.mips64eb Mon Jun 7 13:52:28 2010
@@ -1,4 +1,4 @@
-# $NetBSD: ad.mips64eb,v 1.14 2010/05/21 11:07:20 pooka Exp $
+# $NetBSD: ad.mips64eb,v 1.15 2010/06/07 13:52:28 tnozaki Exp $
./libexec/ld.elf_so-64 base-compat-shlib compat,pic
./libexec/ld.elf_so-o32 base-sysutil-bin compat,pic
./usr/lib/64 base-compat-lib compat
@@ -62,7 +62,7 @@
./usr/lib/64/libbz2.so.1 base-compat-shlib compat,pic
./usr/lib/64/libbz2.so.1.1 base-compat-shlib compat,pic
./usr/lib/64/libc.so.12 base-compat-shlib compat,pic
-./usr/lib/64/libc.so.12.172 base-compat-shlib compat,pic
+./usr/lib/64/libc.so.12.173 base-compat-shlib compat,pic
./usr/lib/64/libcom_err.so.6 base-compat-shlib compat,pic
./usr/lib/64/libcom_err.so.6.0 base-compat-shlib compat,pic
./usr/lib/64/libcrypt.so.1 base-compat-shlib compat,pic
@@ -294,7 +294,7 @@
./usr/lib/o32/libbz2.so.1 base-compat-shlib compat,pic
./usr/lib/o32/libbz2.so.1.1 base-compat-shlib compat,pic
./usr/lib/o32/libc.so.12 base-compat-shlib compat,pic
-./usr/lib/o32/libc.so.12.172 base-compat-shlib compat,pic
+./usr/lib/o32/libc.so.12.173 base-compat-shlib compat,pic
./usr/lib/o32/libcom_err.so.6 base-compat-shlib compat,pic
./usr/lib/o32/libcom_err.so.6.0 base-compat-shlib compat,pic
./usr/lib/o32/libcrypt.so.1 base-compat-shlib compat,pic
Index: src/distrib/sets/lists/base/ad.mips64el
diff -u src/distrib/sets/lists/base/ad.mips64el:1.14 src/distrib/sets/lists/base/ad.mips64el:1.15
--- src/distrib/sets/lists/base/ad.mips64el:1.14 Fri May 21 11:07:20 2010
+++ src/distrib/sets/lists/base/ad.mips64el Mon Jun 7 13:52:28 2010
@@ -1,4 +1,4 @@
-# $NetBSD: ad.mips64el,v 1.14 2010/05/21 11:07:20 pooka Exp $
+# $NetBSD: ad.mips64el,v 1.15 2010/06/07 13:52:28 tnozaki Exp $
./libexec/ld.elf_so-64 base-compat-shlib compat,pic
./libexec/ld.elf_so-o32 base-sysutil-bin compat,pic
./usr/lib/64 base-compat-lib compat
@@ -62,7 +62,7 @@
./usr/lib/64/libbz2.so.1 base-compat-shlib compat,pic
./usr/lib/64/libbz2.so.1.1 base-compat-shlib compat,pic
./usr/lib/64/libc.so.12 base-compat-shlib compat,pic
-./usr/lib/64/libc.so.12.172 base-compat-shlib compat,pic
+./usr/lib/64/libc.so.12.173 base-compat-shlib compat,pic
./usr/lib/64/libcom_err.so.6 base-compat-shlib compat,pic
./usr/lib/64/libcom_err.so.6.0 base-compat-shlib compat,pic
./usr/lib/64/libcrypt.so.1 base-compat-shlib compat,pic
@@ -294,7 +294,7 @@
./usr/lib/o32/libbz2.so.1 base-compat-shlib compat,pic
./usr/lib/o32/libbz2.so.1.1 base-compat-shlib compat,pic
./usr/lib/o32/libc.so.12 base-compat-shlib compat,pic
-./usr/lib/o32/libc.so.12.172 base-compat-shlib compat,pic
+./usr/lib/o32/libc.so.12.173 base-compat-shlib compat,pic
./usr/lib/o32/libcom_err.so.6 base-compat-shlib compat,pic
./usr/lib/o32/libcom_err.so.6.0 base-compat-shlib compat,pic
./usr/lib/o32/libcrypt.so.1 base-compat-shlib compat,pic
Index: src/distrib/sets/lists/base/md.amd64
diff -u src/distrib/sets/lists/base/md.amd64:1.89 src/distrib/sets/lists/base/md.amd64:1.90
--- src/distrib/sets/lists/base/md.amd64:1.89 Fri May 21 11:07:20 2010
+++ src/distrib/sets/lists/base/md.amd64 Mon Jun 7 13:52:29 2010
@@ -1,4 +1,4 @@
-# $NetBSD: md.amd64,v 1.89 2010/05/21 11:07:20 pooka Exp $
+# $NetBSD: md.amd64,v 1.90 2010/06/07 13:52:29 tnozaki Exp $
./dev/lms0 base-obsolete obsolete
./dev/mms0 base-obsolete obsolete
./libexec/ld.elf_so-i386 base-sys-shlib compat,pic
@@ -65,7 +65,7 @@
./usr/lib/i386/libbz2.so.1 base-compat-shlib compat,pic
./usr/lib/i386/libbz2.so.1.1 base-compat-shlib compat,pic
./usr/lib/i386/libc.so.12 base-compat-shlib compat,pic
-./usr/lib/i386/libc.so.12.172 base-compat-shlib compat,pic
+./usr/lib/i386/libc.so.12.173 base-compat-shlib compat,pic
./usr/lib/i386/libcom_err.so.6 base-compat-shlib compat,pic,kerberos
./usr/lib/i386/libcom_err.so.6.0 base-compat-shlib compat,pic,kerberos
./usr/lib/i386/libcrypt.so.1 base-compat-shlib compat,pic
Index: src/distrib/sets/lists/base/md.sparc64
diff -u src/distrib/sets/lists/base/md.sparc64:1.83 src/distrib/sets/lists/base/md.sparc64:1.84
--- src/distrib/sets/lists/base/md.sparc64:1.83 Fri May 21 11:07:20 2010
+++ src/distrib/sets/lists/base/md.sparc64 Mon Jun 7 13:52:29 2010
@@ -1,4 +1,4 @@
-# $NetBSD: md.sparc64,v 1.83 2010/05/21 11:07:20 pooka Exp $
+# $NetBSD: md.sparc64,v 1.84 2010/06/07 13:52:29 tnozaki Exp $
./libexec/ld.elf_so-sparc base-sysutil-bin compat,pic
./sbin/edlabel base-sysutil-root obsolete
./usr/bin/fdformat base-util-bin
@@ -63,7 +63,7 @@
./usr/lib/sparc/libbz2.so.1 base-compat-shlib compat,pic
./usr/lib/sparc/libbz2.so.1.1 base-compat-shlib compat,pic
./usr/lib/sparc/libc.so.12 base-compat-shlib compat,pic
-./usr/lib/sparc/libc.so.12.172 base-compat-shlib compat,pic
+./usr/lib/sparc/libc.so.12.173 base-compat-shlib compat,pic
./usr/lib/sparc/libcom_err.so.6 base-compat-shlib compat,pic
./usr/lib/sparc/libcom_err.so.6.0 base-compat-shlib compat,pic
./usr/lib/sparc/libcrypt.so.1 base-compat-shlib compat,pic
Index: src/distrib/sets/lists/base/shl.mi
diff -u src/distrib/sets/lists/base/shl.mi:1.537 src/distrib/sets/lists/base/shl.mi:1.538
--- src/distrib/sets/lists/base/shl.mi:1.537 Fri May 21 11:07:20 2010
+++ src/distrib/sets/lists/base/shl.mi Mon Jun 7 13:52:29 2010
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.537 2010/05/21 11:07:20 pooka Exp $
+# $NetBSD: shl.mi,v 1.538 2010/06/07 13:52:29 tnozaki Exp $
#
# Note: Don't delete entries from here - mark them as "obsolete" instead,
# unless otherwise stated below.
@@ -13,7 +13,7 @@
#
# Note: libtermcap and libtermlib are hardlinked and share the same version.
#
-./lib/libc.so.12.172 base-sys-shlib dynamicroot
+./lib/libc.so.12.173 base-sys-shlib dynamicroot
./lib/libcrypt.so.1.0 base-sys-shlib dynamicroot
./lib/libcrypto.so.6.1 base-crypto-shlib crypto,dynamicroot
./lib/libdevmapper.so.1.0 base-lvm-shlib lvm,dynamicroot
@@ -63,7 +63,7 @@
./usr/lib/libbluetooth.so.4.2 base-sys-shlib
./usr/lib/libbsdmalloc.so.0.0 base-sys-shlib
./usr/lib/libbz2.so.1.1 base-sys-shlib
-./usr/lib/libc.so.12.172 base-sys-shlib
+./usr/lib/libc.so.12.173 base-sys-shlib
./usr/lib/libcom_err.so.6.0 base-krb5-shlib kerberos
./usr/lib/libcrypt.so.1.0 base-sys-shlib
./usr/lib/libcrypto.so.6.1 base-crypto-shlib crypto
Index: src/distrib/sets/lists/comp/md.amd64
diff -u src/distrib/sets/lists/comp/md.amd64:1.67 src/distrib/sets/lists/comp/md.amd64:1.68
--- src/distrib/sets/lists/comp/md.amd64:1.67 Fri May 21 11:07:21 2010
+++ src/distrib/sets/lists/comp/md.amd64 Mon Jun 7 13:52:29 2010
@@ -1,4 +1,4 @@
-# $NetBSD: md.amd64,v 1.67 2010/05/21 11:07:21 pooka Exp $
+# $NetBSD: md.amd64,v 1.68 2010/06/07 13:52:29 tnozaki Exp $
./usr/include/amd64 comp-c-include
./usr/include/amd64/ansi.h comp-c-include
./usr/include/amd64/aout_machdep.h comp-c-include
@@ -847,7 +847,7 @@
./usr/libdata/debug/usr/lib/i386/libbluetooth.so.4.2.debug comp-compat-shlib compat,pic,debug
./usr/libdata/debug/usr/lib/i386/libbsdmalloc.so.0.0.debug comp-compat-shlib compat,pic,debug
./usr/libdata/debug/usr/lib/i386/libbz2.so.1.1.debug comp-compat-shlib compat,pic,debug
-./usr/libdata/debug/usr/lib/i386/libc.so.12.172.debug comp-compat-shlib compat,pic,debug
+./usr/libdata/debug/usr/lib/i386/libc.so.12.173.debug comp-compat-shlib compat,pic,debug
./usr/libdata/debug/usr/lib/i386/libcom_err.so.6.0.debug comp-compat-shlib compat,pic,kerberos,debug
./usr/libdata/debug/usr/lib/i386/libcrypt.so.1.0.debug comp-compat-shlib compat,pic,debug
./usr/libdata/debug/usr/lib/i386/libcrypto.so.6.1.debug comp-compat-shlib compat,pic,debug
Index: src/distrib/sets/lists/comp/md.sparc64
diff -u src/distrib/sets/lists/comp/md.sparc64:1.57 src/distrib/sets/lists/comp/md.sparc64:1.58
--- src/distrib/sets/lists/comp/md.sparc64:1.57 Fri May 21 11:07:21 2010
+++ src/distrib/sets/lists/comp/md.sparc64 Mon Jun 7 13:52:29 2010
@@ -1,4 +1,4 @@
-# $NetBSD: md.sparc64,v 1.57 2010/05/21 11:07:21 pooka Exp $
+# $NetBSD: md.sparc64,v 1.58 2010/06/07 13:52:29 tnozaki Exp $
./usr/include/ieeefp.h comp-c-include
./usr/include/sparc comp-c-include
./usr/include/sparc/_G_config.h comp-obsolete obsolete
@@ -628,7 +628,7 @@
./usr/libdata/debug/usr/lib/sparc/libbluetooth.so.4.2.debug comp-compat-shlib compat,pic,debug
./usr/libdata/debug/usr/lib/sparc/libbsdmalloc.so.0.0.debug comp-compat-shlib compat,pic,debug
./usr/libdata/debug/usr/lib/sparc/libbz2.so.1.1.debug comp-compat-shlib compat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/libc.so.12.172.debug comp-compat-shlib compat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/libc.so.12.173.debug comp-compat-shlib compat,pic,debug
./usr/libdata/debug/usr/lib/sparc/libcom_err.so.6.0.debug comp-compat-shlib compat,pic,debug
./usr/libdata/debug/usr/lib/sparc/libcrypt.so.1.0.debug comp-compat-shlib compat,pic,debug
./usr/libdata/debug/usr/lib/sparc/libcrypto.so.6.1.debug comp-compat-shlib compat,pic,debug
Index: src/distrib/sets/lists/comp/shl.mi
diff -u src/distrib/sets/lists/comp/shl.mi:1.118 src/distrib/sets/lists/comp/shl.mi:1.119
--- src/distrib/sets/lists/comp/shl.mi:1.118 Fri May 21 11:07:21 2010
+++ src/distrib/sets/lists/comp/shl.mi Mon Jun 7 13:52:29 2010
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.118 2010/05/21 11:07:21 pooka Exp $
+# $NetBSD: shl.mi,v 1.119 2010/06/07 13:52:29 tnozaki Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -198,7 +198,7 @@
./usr/libdata/debug/usr/lib/libbluetooth.so.4.2.debug comp-sys-debug debug
./usr/libdata/debug/usr/lib/libbsdmalloc.so.0.0.debug comp-sys-debug debug
./usr/libdata/debug/usr/lib/libbz2.so.1.1.debug comp-sys-debug debug
-./usr/libdata/debug/usr/lib/libc.so.12.172.debug comp-sys-debug debug
+./usr/libdata/debug/usr/lib/libc.so.12.173.debug comp-sys-debug debug
./usr/libdata/debug/usr/lib/libcom_err.so.6.0.debug comp-krb5-debug kerberos,debug
./usr/libdata/debug/usr/lib/libcrypt.so.1.0.debug comp-sys-debug debug
./usr/libdata/debug/usr/lib/libcrypto.so.6.1.debug comp-crypto-debug crypto,debug
Index: src/include/limits.h
diff -u src/include/limits.h:1.28 src/include/limits.h:1.29
--- src/include/limits.h:1.28 Wed Aug 27 08:53:55 2008
+++ src/include/limits.h Mon Jun 7 13:52:29 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: limits.h,v 1.28 2008/08/27 08:53:55 christos Exp $ */
+/* $NetBSD: limits.h,v 1.29 2010/06/07 13:52:29 tnozaki Exp $ */
/*
* Copyright (c) 1988, 1993
@@ -108,6 +108,8 @@
#endif /* _POSIX_C_SOURCE || _XOPEN_SOURCE || _NETBSD_SOURCE */
+#define MB_LEN_MAX 32 /* Allow ISO/IEC 2022 */
+
#include <machine/limits.h>
#include <sys/syslimits.h>
Index: src/include/locale.h
diff -u src/include/locale.h:1.16 src/include/locale.h:1.17
--- src/include/locale.h:1.16 Sun Jan 11 03:04:12 2009
+++ src/include/locale.h Mon Jun 7 13:52:29 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: locale.h,v 1.16 2009/01/11 03:04:12 christos Exp $ */
+/* $NetBSD: locale.h,v 1.17 2010/06/07 13:52:29 tnozaki Exp $ */
/*
* Copyright (c) 1991, 1993
@@ -84,14 +84,8 @@
#endif
__BEGIN_DECLS
-struct lconv *localeconv(void);
-#ifdef __SETLOCALE_SOURCE__
-char *setlocale(int, const char *);
-char *__setlocale_mb_len_max_32(int, const char *);
-char *__setlocale(int, const char *);
-#else /* !__SETLOCALE_SOURCE__ */
-char *setlocale(int, const char *) __RENAME(__setlocale_mb_len_max_32);
-#endif /* !__SETLOCALE_SOURCE__ */
+struct lconv *localeconv(void);
+char *setlocale(int, const char *) __RENAME(__setlocale50);
__END_DECLS
#endif /* _LOCALE_H_ */
Index: src/lib/libc/shlib_version
diff -u src/lib/libc/shlib_version:1.217 src/lib/libc/shlib_version:1.218
--- src/lib/libc/shlib_version:1.217 Sun Apr 25 00:54:46 2010
+++ src/lib/libc/shlib_version Mon Jun 7 13:52:29 2010
@@ -1,4 +1,4 @@
-# $NetBSD: shlib_version,v 1.217 2010/04/25 00:54:46 joerg Exp $
+# $NetBSD: shlib_version,v 1.218 2010/06/07 13:52:29 tnozaki Exp $
# Remember to update distrib/sets/lists/base/shl.* when changing
#
# things we wish to do on next major version bump:
@@ -19,10 +19,6 @@
# - libc/stdio: make fpos_t larger. see BUGS section in fgetpos(3).
# probably s/fpos_t/off_t/ in __sFILE and __sseek(). it involves
# funopen(3) api change.
-# - libc/locale/{__mb_cur_max.c,rune.h}: remove __mb_len_max_runtime
-# - libc/locale/setlocale.c: __setlocale -> setlocale
-# - libc/locale/setlocale{1,32}.c: remove
-# - libc/citrus/citrus_lc_ctype.c: __MB_LEN_MAX_RUNTIME -> MB_LEN_MAX
# - remove frexp, ldexp, modf: they belong to libm.
# - make sure we can support thread local [on arm don't use r9 for example,
# consider other risc architectures: mips, powerpc, sparc, etc]
@@ -34,7 +30,5 @@
# - change _ctype_ table in ctype.h and gen/ctype_.c 8bit -> 16 or 32bit.
# it's insufficient bitwidth to implement all ctype class.
# see isblank's comment in ctype.h.
-# - increase MB_LEN_MAX 6 -> 32 sys/arch/hppa/include/limits.h
-# and make it's definition MD -> MI.
major=12
-minor=172
+minor=173
Index: src/lib/libc/citrus/citrus_lc_ctype.c
diff -u src/lib/libc/citrus/citrus_lc_ctype.c:1.6 src/lib/libc/citrus/citrus_lc_ctype.c:1.7
--- src/lib/libc/citrus/citrus_lc_ctype.c:1.6 Tue Jun 1 13:52:08 2010
+++ src/lib/libc/citrus/citrus_lc_ctype.c Mon Jun 7 13:52:29 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: citrus_lc_ctype.c,v 1.6 2010/06/01 13:52:08 tnozaki Exp $ */
+/* $NetBSD: citrus_lc_ctype.c,v 1.7 2010/06/07 13:52:29 tnozaki Exp $ */
/*-
* Copyright (c)2008 Citrus Project,
@@ -28,7 +28,7 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: citrus_lc_ctype.c,v 1.6 2010/06/01 13:52:08 tnozaki Exp $");
+__RCSID("$NetBSD: citrus_lc_ctype.c,v 1.7 2010/06/07 13:52:29 tnozaki Exp $");
#endif /* LIBC_SCCS and not lint */
#include "reentrant.h"
@@ -103,7 +103,7 @@
data->rl_variable, data->rl_variable_len, _PRIVSIZE);
if (!ret)
ret = __runetable_to_netbsd_ctype(data);
- if (ret || __MB_LEN_MAX_RUNTIME <
+ if (ret || __mb_len_max_runtime <
_citrus_ctype_get_mb_cur_max(data->rl_citrus_ctype)) {
_NukeRune(data);
return EINVAL;
Index: src/lib/libc/compat/Makefile
diff -u src/lib/libc/compat/Makefile:1.4 src/lib/libc/compat/Makefile:1.5
--- src/lib/libc/compat/Makefile:1.4 Sun Jan 11 02:46:24 2009
+++ src/lib/libc/compat/Makefile Mon Jun 7 13:52:29 2010
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.4 2009/01/11 02:46:24 christos Exp $
+# $NetBSD: Makefile,v 1.5 2010/06/07 13:52:29 tnozaki Exp $
# @(#)Makefile 8.2 (Berkeley) 2/3/94
#
@@ -14,6 +14,7 @@
.include "${.CURDIR}/db/Makefile.inc"
.include "${.CURDIR}/gen/Makefile.inc"
+.include "${.CURDIR}/locale/Makefile.inc"
.include "${.CURDIR}/net/Makefile.inc"
.include "${.CURDIR}/rpc/Makefile.inc"
.include "${.CURDIR}/stdlib/Makefile.inc"
Index: src/lib/libc/compat/Makefile.inc
diff -u src/lib/libc/compat/Makefile.inc:1.5 src/lib/libc/compat/Makefile.inc:1.6
--- src/lib/libc/compat/Makefile.inc:1.5 Sun Jan 11 02:46:24 2009
+++ src/lib/libc/compat/Makefile.inc Mon Jun 7 13:52:29 2010
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.inc,v 1.5 2009/01/11 02:46:24 christos Exp $
+# $NetBSD: Makefile.inc,v 1.6 2010/06/07 13:52:29 tnozaki Exp $
CPPFLAGS+= -I${NETBSDSRCDIR}/sys
@@ -6,6 +6,7 @@
.PATH: ${COMPATARCHDIR}/gen ${COMPATARCHDIR}/sys
.include "${COMPATDIR}/db/Makefile.inc"
+.include "${COMPATDIR}/locale/Makefile.inc"
.include "${COMPATDIR}/gen/Makefile.inc"
.include "${COMPATDIR}/net/Makefile.inc"
.include "${COMPATDIR}/rpc/Makefile.inc"
Index: src/lib/libc/locale/Makefile.inc
diff -u src/lib/libc/locale/Makefile.inc:1.56 src/lib/libc/locale/Makefile.inc:1.57
--- src/lib/libc/locale/Makefile.inc:1.56 Tue Jun 1 18:00:28 2010
+++ src/lib/libc/locale/Makefile.inc Mon Jun 7 13:52:30 2010
@@ -1,11 +1,11 @@
# from: @(#)Makefile.inc 5.1 (Berkeley) 2/18/91
-# $NetBSD: Makefile.inc,v 1.56 2010/06/01 18:00:28 tnozaki Exp $
+# $NetBSD: Makefile.inc,v 1.57 2010/06/07 13:52:30 tnozaki Exp $
# locale sources
.PATH: ${ARCHDIR}/locale ${.CURDIR}/locale
SRCS+= _def_messages.c _def_monetary.c _def_numeric.c _def_time.c \
- setlocale.c setlocale1.c setlocale32.c __mb_cur_max.c \
+ setlocale.c __mb_cur_max.c \
current_locale.c global_locale.c fix_grouping.c \
localeconv.c nl_langinfo.c \
generic_lc_all.c dummy_lc_collate.c \
Index: src/lib/libc/locale/setlocale.c
diff -u src/lib/libc/locale/setlocale.c:1.57 src/lib/libc/locale/setlocale.c:1.58
--- src/lib/libc/locale/setlocale.c:1.57 Mon Mar 9 02:22:25 2009
+++ src/lib/libc/locale/setlocale.c Mon Jun 7 13:52:30 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: setlocale.c,v 1.57 2009/03/09 02:22:25 tnozaki Exp $ */
+/* $NetBSD: setlocale.c,v 1.58 2010/06/07 13:52:30 tnozaki Exp $ */
/*-
* Copyright (c)2008 Citrus Project,
@@ -28,14 +28,12 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: setlocale.c,v 1.57 2009/03/09 02:22:25 tnozaki Exp $");
+__RCSID("$NetBSD: setlocale.c,v 1.58 2010/06/07 13:52:30 tnozaki Exp $");
#endif /* LIBC_SCCS and not lint */
-#include <sys/cdefs.h>
#include <sys/types.h>
-#include <langinfo.h>
-#define __SETLOCALE_SOURCE__
#include <locale.h>
+#include <limits.h>
#include <paths.h>
#include <stdlib.h>
#include <string.h>
@@ -131,3 +129,13 @@
}
return NULL;
}
+
+char *
+setlocale(int category, const char *locale)
+{
+
+ /* locale may be NULL */
+
+ __mb_len_max_runtime = MB_LEN_MAX;
+ return __setlocale(category, locale);
+}
Index: src/lib/libc/locale/setlocale_local.h
diff -u src/lib/libc/locale/setlocale_local.h:1.6 src/lib/libc/locale/setlocale_local.h:1.7
--- src/lib/libc/locale/setlocale_local.h:1.6 Sat May 22 13:50:02 2010
+++ src/lib/libc/locale/setlocale_local.h Mon Jun 7 13:52:30 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: setlocale_local.h,v 1.6 2010/05/22 13:50:02 tnozaki Exp $ */
+/* $NetBSD: setlocale_local.h,v 1.7 2010/06/07 13:52:30 tnozaki Exp $ */
/*-
* Copyright (c)2008 Citrus Project,
@@ -67,8 +67,8 @@
__BEGIN_DECLS
_locale_category_t *_find_category(int);
const char *_get_locale_env(const char *);
-extern struct _locale_impl_t _global_locale;
struct _locale_impl_t **_current_locale(void);
+char *__setlocale(int, const char *);
__END_DECLS
static __inline struct _locale_cache_t *
@@ -77,7 +77,7 @@
return (*_current_locale())->cache;
}
+extern struct _locale_impl_t _global_locale;
extern size_t __mb_len_max_runtime;
-#define __MB_LEN_MAX_RUNTIME __mb_len_max_runtime
#endif /*_SETLOCALE_LOCAL_H_*/
Index: src/sys/arch/alpha/include/limits.h
diff -u src/sys/arch/alpha/include/limits.h:1.12 src/sys/arch/alpha/include/limits.h:1.13
--- src/sys/arch/alpha/include/limits.h:1.12 Wed Oct 17 19:52:58 2007
+++ src/sys/arch/alpha/include/limits.h Mon Jun 7 13:52:30 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: limits.h,v 1.12 2007/10/17 19:52:58 garbled Exp $ */
+/* $NetBSD: limits.h,v 1.13 2010/06/07 13:52:30 tnozaki Exp $ */
/*
* Copyright (c) 1988, 1993
@@ -37,7 +37,6 @@
#include <sys/featuretest.h>
#define CHAR_BIT 8 /* number of bits in a char */
-#define MB_LEN_MAX 32 /* Allow 31 bit UTF2 */
/*
* According to ANSI (section 2.2.4.2), the values below must be usable by
Index: src/sys/arch/amd64/include/limits.h
diff -u src/sys/arch/amd64/include/limits.h:1.10 src/sys/arch/amd64/include/limits.h:1.11
--- src/sys/arch/amd64/include/limits.h:1.10 Sun Oct 26 00:08:15 2008
+++ src/sys/arch/amd64/include/limits.h Mon Jun 7 13:52:30 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: limits.h,v 1.10 2008/10/26 00:08:15 mrg Exp $ */
+/* $NetBSD: limits.h,v 1.11 2010/06/07 13:52:30 tnozaki Exp $ */
/*
* Copyright (c) 1988 The Regents of the University of California.
@@ -39,7 +39,6 @@
#include <sys/featuretest.h>
#define CHAR_BIT 8 /* number of bits in a char */
-#define MB_LEN_MAX 32 /* no multibyte characters */
#define SCHAR_MAX 0x7f /* max value for a signed char */
#define SCHAR_MIN (-0x7f-1) /* min value for a signed char */
Index: src/sys/arch/arm/include/limits.h
diff -u src/sys/arch/arm/include/limits.h:1.9 src/sys/arch/arm/include/limits.h:1.10
--- src/sys/arch/arm/include/limits.h:1.9 Fri Aug 29 19:08:29 2008
+++ src/sys/arch/arm/include/limits.h Mon Jun 7 13:52:30 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: limits.h,v 1.9 2008/08/29 19:08:29 matt Exp $ */
+/* $NetBSD: limits.h,v 1.10 2010/06/07 13:52:30 tnozaki Exp $ */
/*
* Copyright (c) 1988 The Regents of the University of California.
@@ -37,7 +37,6 @@
#include <sys/featuretest.h>
#define CHAR_BIT 8 /* number of bits in a char */
-#define MB_LEN_MAX 32 /* no multibyte characters */
#define SCHAR_MIN (-0x7f-1) /* max value for a signed char */
#define SCHAR_MAX 0x7f /* min value for a signed char */
Index: src/sys/arch/hpc/stand/include/machine/limits.h
diff -u src/sys/arch/hpc/stand/include/machine/limits.h:1.1 src/sys/arch/hpc/stand/include/machine/limits.h:1.2
--- src/sys/arch/hpc/stand/include/machine/limits.h:1.1 Fri Feb 9 18:35:29 2001
+++ src/sys/arch/hpc/stand/include/machine/limits.h Mon Jun 7 13:52:30 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: limits.h,v 1.1 2001/02/09 18:35:29 uch Exp $ */
+/* $NetBSD: limits.h,v 1.2 2010/06/07 13:52:30 tnozaki Exp $ */
/* Windows CE architecture */
@@ -6,7 +6,6 @@
#define _MACHINE_LIMITS_H_
#define CHAR_BIT 8 /* number of bits in a char */
-#define MB_LEN_MAX 32 /* Allow 31 bit UTF2 */
#define SCHAR_MAX 127 /* min value for a signed char */
#define SCHAR_MIN (-128) /* max value for a signed char */
Index: src/sys/arch/hppa/include/limits.h
diff -u src/sys/arch/hppa/include/limits.h:1.11 src/sys/arch/hppa/include/limits.h:1.12
--- src/sys/arch/hppa/include/limits.h:1.11 Sat Sep 13 07:33:26 2008
+++ src/sys/arch/hppa/include/limits.h Mon Jun 7 13:52:30 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: limits.h,v 1.11 2008/09/13 07:33:26 skrll Exp $ */
+/* $NetBSD: limits.h,v 1.12 2010/06/07 13:52:30 tnozaki Exp $ */
/* $OpenBSD: limits.h,v 1.2 2000/07/31 20:06:02 millert Exp $ */
@@ -62,8 +62,6 @@
#include <sys/featuretest.h>
#define CHAR_BIT 8 /* number of bits in a char */
-#define MB_LEN_MAX 6 /* Allow 31 bit UTF2 */
-
/*
* According to ANSI (section 2.2.4.2), the values below must be usable by
Index: src/sys/arch/i386/include/limits.h
diff -u src/sys/arch/i386/include/limits.h:1.21 src/sys/arch/i386/include/limits.h:1.22
--- src/sys/arch/i386/include/limits.h:1.21 Sun Oct 26 06:57:30 2008
+++ src/sys/arch/i386/include/limits.h Mon Jun 7 13:52:30 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: limits.h,v 1.21 2008/10/26 06:57:30 mrg Exp $ */
+/* $NetBSD: limits.h,v 1.22 2010/06/07 13:52:30 tnozaki Exp $ */
/*
* Copyright (c) 1988 The Regents of the University of California.
@@ -37,7 +37,6 @@
#include <sys/featuretest.h>
#define CHAR_BIT 8 /* number of bits in a char */
-#define MB_LEN_MAX 32 /* max multibyte character length */
#define SCHAR_MAX 0x7f /* max value for a signed char */
#define SCHAR_MIN (-0x7f-1) /* min value for a signed char */
Index: src/sys/arch/ia64/include/limits.h
diff -u src/sys/arch/ia64/include/limits.h:1.4 src/sys/arch/ia64/include/limits.h:1.5
--- src/sys/arch/ia64/include/limits.h:1.4 Wed Oct 17 19:55:00 2007
+++ src/sys/arch/ia64/include/limits.h Mon Jun 7 13:52:31 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: limits.h,v 1.4 2007/10/17 19:55:00 garbled Exp $ */
+/* $NetBSD: limits.h,v 1.5 2010/06/07 13:52:31 tnozaki Exp $ */
/*
* Copyright (c) 1988 The Regents of the University of California.
@@ -35,7 +35,6 @@
#define _MACHINE_LIMITS_H_
#define CHAR_BIT 8 /* number of bits in a char */
-#define MB_LEN_MAX 32 /* no multibyte characters */
#define SCHAR_MIN (-0x7f-1) /* max value for a signed char */
#define SCHAR_MAX 0x7f /* min value for a signed char */
Index: src/sys/arch/m68k/include/limits.h
diff -u src/sys/arch/m68k/include/limits.h:1.19 src/sys/arch/m68k/include/limits.h:1.20
--- src/sys/arch/m68k/include/limits.h:1.19 Wed Oct 17 19:55:05 2007
+++ src/sys/arch/m68k/include/limits.h Mon Jun 7 13:52:31 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: limits.h,v 1.19 2007/10/17 19:55:05 garbled Exp $ */
+/* $NetBSD: limits.h,v 1.20 2010/06/07 13:52:31 tnozaki Exp $ */
/*
* Copyright (c) 1988 The Regents of the University of California.
@@ -37,7 +37,6 @@
#include <sys/featuretest.h>
#define CHAR_BIT 8 /* number of bits in a char */
-#define MB_LEN_MAX 32 /* no multibyte characters */
#define SCHAR_MIN (-0x7f-1) /* max value for a signed char */
#define SCHAR_MAX 0x7f /* min value for a signed char */
Index: src/sys/arch/mips/include/limits.h
diff -u src/sys/arch/mips/include/limits.h:1.22 src/sys/arch/mips/include/limits.h:1.23
--- src/sys/arch/mips/include/limits.h:1.22 Wed Oct 17 19:55:36 2007
+++ src/sys/arch/mips/include/limits.h Mon Jun 7 13:52:31 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: limits.h,v 1.22 2007/10/17 19:55:36 garbled Exp $ */
+/* $NetBSD: limits.h,v 1.23 2010/06/07 13:52:31 tnozaki Exp $ */
/*
* Copyright (c) 1988, 1993
@@ -37,7 +37,6 @@
#include <sys/featuretest.h>
#define CHAR_BIT 8 /* number of bits in a char */
-#define MB_LEN_MAX 32 /* Allow 31 bit UTF2 */
/*
* According to ANSI (section 2.2.4.2), the values below must be usable by
Index: src/sys/arch/powerpc/include/limits.h
diff -u src/sys/arch/powerpc/include/limits.h:1.15 src/sys/arch/powerpc/include/limits.h:1.16
--- src/sys/arch/powerpc/include/limits.h:1.15 Wed Oct 17 19:56:40 2007
+++ src/sys/arch/powerpc/include/limits.h Mon Jun 7 13:52:31 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: limits.h,v 1.15 2007/10/17 19:56:40 garbled Exp $ */
+/* $NetBSD: limits.h,v 1.16 2010/06/07 13:52:31 tnozaki Exp $ */
/*
* Copyright (c) 1988, 1993
@@ -37,7 +37,6 @@
#include <sys/featuretest.h>
#define CHAR_BIT 8 /* number of bits in a char */
-#define MB_LEN_MAX 32 /* Allow 31 bit UTF2 */
/*
* According to ANSI (section 2.2.4.2), the values below must be usable by
Index: src/sys/arch/sh3/include/limits.h
diff -u src/sys/arch/sh3/include/limits.h:1.10 src/sys/arch/sh3/include/limits.h:1.11
--- src/sys/arch/sh3/include/limits.h:1.10 Wed Oct 17 19:57:07 2007
+++ src/sys/arch/sh3/include/limits.h Mon Jun 7 13:52:31 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: limits.h,v 1.10 2007/10/17 19:57:07 garbled Exp $ */
+/* $NetBSD: limits.h,v 1.11 2010/06/07 13:52:31 tnozaki Exp $ */
/*
* Copyright (c) 1988 The Regents of the University of California.
@@ -37,7 +37,6 @@
#include <sys/featuretest.h>
#define CHAR_BIT 8 /* number of bits in a char */
-#define MB_LEN_MAX 32 /* no multibyte characters */
#define SCHAR_MAX 0x7f /* max value for a signed char */
#define SCHAR_MIN (-0x7f-1) /* min value for a signed char */
Index: src/sys/arch/sparc/include/limits.h
diff -u src/sys/arch/sparc/include/limits.h:1.18 src/sys/arch/sparc/include/limits.h:1.19
--- src/sys/arch/sparc/include/limits.h:1.18 Wed Oct 17 19:57:13 2007
+++ src/sys/arch/sparc/include/limits.h Mon Jun 7 13:52:31 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: limits.h,v 1.18 2007/10/17 19:57:13 garbled Exp $ */
+/* $NetBSD: limits.h,v 1.19 2010/06/07 13:52:31 tnozaki Exp $ */
/*
* Copyright (c) 1988 The Regents of the University of California.
@@ -37,7 +37,6 @@
#include <sys/featuretest.h>
#define CHAR_BIT 8 /* number of bits in a char */
-#define MB_LEN_MAX 32 /* no multibyte characters */
#define SCHAR_MIN (-0x7f-1) /* max value for a signed char */
#define SCHAR_MAX 0x7f /* min value for a signed char */
Index: src/sys/arch/vax/include/limits.h
diff -u src/sys/arch/vax/include/limits.h:1.17 src/sys/arch/vax/include/limits.h:1.18
--- src/sys/arch/vax/include/limits.h:1.17 Fri Aug 29 18:25:01 2008
+++ src/sys/arch/vax/include/limits.h Mon Jun 7 13:52:31 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: limits.h,v 1.17 2008/08/29 18:25:01 matt Exp $ */
+/* $NetBSD: limits.h,v 1.18 2010/06/07 13:52:31 tnozaki Exp $ */
/*
* Copyright (c) 1988 The Regents of the University of California.
@@ -37,7 +37,6 @@
#include <sys/featuretest.h>
#define CHAR_BIT 8 /* number of bits in a char */
-#define MB_LEN_MAX 32 /* no multibyte characters */
#define SCHAR_MAX 0x7f /* max value for a signed char */
#define SCHAR_MIN (-0x7f-1) /* min value for a signed char */
Added files:
Index: src/lib/libc/compat/arch/hppa/locale/compat_setlocale32.c
diff -u /dev/null src/lib/libc/compat/arch/hppa/locale/compat_setlocale32.c:1.1
--- /dev/null Mon Jun 7 13:52:32 2010
+++ src/lib/libc/compat/arch/hppa/locale/compat_setlocale32.c Mon Jun 7 13:52:29 2010
@@ -0,0 +1,53 @@
+/* $NetBSD: compat_setlocale32.c,v 1.1 2010/06/07 13:52:29 tnozaki Exp $ */
+
+/*-
+ * Copyright (c)1999 Citrus Project,
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * NetBSD: setlocale32.c,v 1.6 2010/05/22 13:50:02 tnozaki Exp
+ */
+
+#include <sys/cdefs.h>
+#if defined(LIBC_SCCS) && !defined(lint)
+__RCSID("$NetBSD: compat_setlocale32.c,v 1.1 2010/06/07 13:52:29 tnozaki Exp $");
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/types.h>
+#include <compat/include/locale.h>
+
+#include "setlocale_local.h"
+
+__warn_references(__setlocale_mb_len_max_32,
+ "warning: reference to compatibility __setlocale_mb_len_max_32();"
+ "include <locale.h> for correct reference")
+
+char *
+__setlocale_mb_len_max_32(int category, const char *locale)
+{
+
+ /* locale may be NULL */
+
+ __mb_len_max_runtime = 6;
+ return __setlocale(category, locale);
+}
Index: src/lib/libc/compat/include/locale.h
diff -u /dev/null src/lib/libc/compat/include/locale.h:1.1
--- /dev/null Mon Jun 7 13:52:32 2010
+++ src/lib/libc/compat/include/locale.h Mon Jun 7 13:52:30 2010
@@ -0,0 +1,44 @@
+/* $NetBSD: locale.h,v 1.1 2010/06/07 13:52:30 tnozaki Exp $ */
+
+/*
+ * Copyright (c) 1991, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)locale.h 8.1 (Berkeley) 6/2/93
+ */
+
+#ifndef _COMPAT_LOCALE_H_
+#define _COMPAT_LOCALE_H_
+
+#define _LC_LAST 7 /* marks end */
+
+__BEGIN_DECLS
+char *setlocale(int, const char *);
+char *__setlocale_mb_len_max_32(int, const char *);
+__END_DECLS
+
+#endif /* _COMPAT_LOCALE_H_ */
Index: src/lib/libc/compat/locale/Makefile.inc
diff -u /dev/null src/lib/libc/compat/locale/Makefile.inc:1.1
--- /dev/null Mon Jun 7 13:52:32 2010
+++ src/lib/libc/compat/locale/Makefile.inc Mon Jun 7 13:52:30 2010
@@ -0,0 +1,6 @@
+# $NetBSD: Makefile.inc,v 1.1 2010/06/07 13:52:30 tnozaki Exp $
+
+.PATH: ${COMPATDIR}/arch/${MACHINE_ARCH}/locale ${COMPATDIR}/locale
+
+CPPFLAGS+= -I${COMPATDIR}/../locale
+SRCS+= compat_setlocale1.c compat_setlocale32.c
Index: src/lib/libc/compat/locale/compat_setlocale1.c
diff -u /dev/null src/lib/libc/compat/locale/compat_setlocale1.c:1.1
--- /dev/null Mon Jun 7 13:52:32 2010
+++ src/lib/libc/compat/locale/compat_setlocale1.c Mon Jun 7 13:52:30 2010
@@ -0,0 +1,57 @@
+/* $NetBSD: compat_setlocale1.c,v 1.1 2010/06/07 13:52:30 tnozaki Exp $ */
+
+/*-
+ * Copyright (c)1999 Citrus Project,
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * NetBSD: setlocale1.c,v 1.4 2010/05/22 13:50:02 tnozaki Exp
+ */
+
+#include <sys/cdefs.h>
+#if defined(LIBC_SCCS) && !defined(lint)
+__RCSID("$NetBSD: compat_setlocale1.c,v 1.1 2010/06/07 13:52:30 tnozaki Exp $");
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/types.h>
+#include <compat/include/locale.h>
+
+#include "setlocale_local.h"
+
+__warn_references(setlocale,
+ "warning: reference to compatibility setlocale();"
+ "include <locale.h> for correct reference")
+
+/*
+ * Preparation for the future import of multibyte locale.
+ * This function will ensure binary compatibility for old executables.
+ */
+char *
+setlocale(int category, const char *locale)
+{
+
+ /* locale may be NULL */
+
+ __mb_len_max_runtime = 1;
+ return __setlocale(category, locale);
+}
Index: src/lib/libc/compat/locale/compat_setlocale32.c
diff -u /dev/null src/lib/libc/compat/locale/compat_setlocale32.c:1.1
--- /dev/null Mon Jun 7 13:52:32 2010
+++ src/lib/libc/compat/locale/compat_setlocale32.c Mon Jun 7 13:52:30 2010
@@ -0,0 +1,53 @@
+/* $NetBSD: compat_setlocale32.c,v 1.1 2010/06/07 13:52:30 tnozaki Exp $ */
+
+/*-
+ * Copyright (c)1999 Citrus Project,
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * NetBSD: setlocale32.c,v 1.6 2010/05/22 13:50:02 tnozaki Exp
+ */
+
+#include <sys/cdefs.h>
+#if defined(LIBC_SCCS) && !defined(lint)
+__RCSID("$NetBSD: compat_setlocale32.c,v 1.1 2010/06/07 13:52:30 tnozaki Exp $");
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/types.h>
+#include <compat/include/locale.h>
+
+#include "setlocale_local.h"
+
+__warn_references(__setlocale_mb_len_max_32,
+ "warning: reference to compatibility __setlocale_mb_len_max_32();"
+ "include <locale.h> for correct reference")
+
+char *
+__setlocale_mb_len_max_32(int category, const char *locale)
+{
+
+ /* locale may be NULL */
+
+ __mb_len_max_runtime = 32;
+ return __setlocale(category, locale);
+}