Module Name:    src
Committed By:   tnozaki
Date:           Sun Jun 20 02:23:15 UTC 2010

Modified Files:
        src/lib/libc/locale: bsdctype.c runetype_file.h runetype_local.h
Added Files:
        src/lib/libc/locale: runetype_misc.h

Log Message:
fix cross build breakage mklocale(1).
move inline finction that uses sys/ctype_bits.h to runetype_misc.h.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/lib/libc/locale/bsdctype.c
cvs rdiff -u -r1.2 -r1.3 src/lib/libc/locale/runetype_file.h
cvs rdiff -u -r1.11 -r1.12 src/lib/libc/locale/runetype_local.h
cvs rdiff -u -r0 -r1.1 src/lib/libc/locale/runetype_misc.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/locale/bsdctype.c
diff -u src/lib/libc/locale/bsdctype.c:1.8 src/lib/libc/locale/bsdctype.c:1.9
--- src/lib/libc/locale/bsdctype.c:1.8	Sat Jun 19 13:26:52 2010
+++ src/lib/libc/locale/bsdctype.c	Sun Jun 20 02:23:15 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: bsdctype.c,v 1.8 2010/06/19 13:26:52 tnozaki Exp $ */
+/* $NetBSD: bsdctype.c,v 1.9 2010/06/20 02:23:15 tnozaki Exp $ */
 
 /*-
  * Copyright (c)2008 Citrus Project,
@@ -28,7 +28,7 @@
 
 #include <sys/cdefs.h>
 #if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: bsdctype.c,v 1.8 2010/06/19 13:26:52 tnozaki Exp $");
+__RCSID("$NetBSD: bsdctype.c,v 1.9 2010/06/20 02:23:15 tnozaki Exp $");
 #endif /* LIBC_SCCS and not lint */
 
 #include <sys/endian.h>
@@ -41,7 +41,7 @@
 #include <unistd.h>
 
 #include "bsdctype_local.h"
-#include "runetype_file.h"
+#include "runetype_misc.h"
 
 const _BSDCTypeLocale _DefaultBSDCTypeLocale = {
     _C_ctype_,

Index: src/lib/libc/locale/runetype_file.h
diff -u src/lib/libc/locale/runetype_file.h:1.2 src/lib/libc/locale/runetype_file.h:1.3
--- src/lib/libc/locale/runetype_file.h:1.2	Sat Jun 19 13:26:52 2010
+++ src/lib/libc/locale/runetype_file.h	Sun Jun 20 02:23:15 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: runetype_file.h,v 1.2 2010/06/19 13:26:52 tnozaki Exp $ */
+/* $NetBSD: runetype_file.h,v 1.3 2010/06/20 02:23:15 tnozaki Exp $ */
 
 /*-
  * Copyright (c) 1993
@@ -39,7 +39,6 @@
 
 #include <sys/cdefs.h>
 #include <sys/types.h>
-#include <sys/ctype_bits.h>
 
 #include "ctype_local.h"
 
@@ -79,93 +78,6 @@
 #define	_RUNETYPE_SW2	UINT32_C(0x80000000)	/* 2 width character */
 #define	_RUNETYPE_SW3	UINT32_C(0xc0000000)	/* 3 width character */
 
-static __inline int
-_runetype_to_ctype(_RuneType bits)
-{
-	int ret;
-
-	if (bits == (_RuneType)0)
-		return 0;
-	ret = 0;
-	if (bits & _RUNETYPE_U)
-		ret |= _U;
-	if (bits & _RUNETYPE_L)
-		ret |= _L;
-	if (bits & _RUNETYPE_D)
-		ret |= _N;
-	if (bits & _RUNETYPE_S)
-		ret |= _S;
-	if (bits & _RUNETYPE_P)
-		ret |= _P;
-	if (bits & _RUNETYPE_C)
-		ret |= _C;
-	if (bits & _RUNETYPE_X)
-		ret |= _X;
-	/*
-	 * TWEAK!  _B has been used incorrectly (or with older
-	 * declaration) in ctype.h isprint() macro.
-	 * _B does not mean isblank, it means "isprint && !isgraph".
-	 * the following is okay since isblank() was hardcoded in
-	 * function (i.e. isblank() is inherently locale unfriendly).
-	 */
-#if 1
-	if ((bits & (_RUNETYPE_R | _RUNETYPE_G)) == _RUNETYPE_R)
-		ret |= _B;
-#else
-	if (bits & _RUNETYPE_B)
-		ret |= _B;
-#endif
-	return ret;
-}
-
-static __inline _RuneType
-_runetype_from_ctype(int bits, int ch)
-{
-        _RuneType ret;
-
-	/*
-	 * TWEAKS!
-	 * - old locale file declarations do not have proper _B
-	 *   in many cases.
-	 * - isprint() declaration in ctype.h incorrectly uses _B.
-	 *   _B means "isprint but !isgraph", not "isblank" with the
-	 *   declaration.
-	 * - _X and _RUNETYPE_X have negligible difference in meaning.
-	 * - we don't set digit value, fearing that it would be
-	 *   too much of hardcoding.  we may need to revisit it.
-	 */
-
-	ret = (_RuneType)0;
-	if (bits & _U)
-		ret |= _RUNETYPE_U;
-	if (bits & _L)
-		ret |= _RUNETYPE_L;
-	if (bits & _N)
-		ret |= _RUNETYPE_D;
-	if (bits & _S)
-		ret |= _RUNETYPE_S;
-	if (bits & _P)
-		ret |= _RUNETYPE_P;
-	if (bits & _C)
-		ret |= _RUNETYPE_C;
-	/* derived flag bits, duplicate of ctype.h */
-	if (bits & (_U|_L))
-		ret |= _RUNETYPE_A;
-	if (bits & (_N|_X))
-		ret |= _RUNETYPE_X;
-	if (bits & (_P|_U|_L|_N))
-		ret |= _RUNETYPE_G;
-	/* we don't really trust _B in the file.  see above. */
-	if (bits & _B)
-		ret |= _RUNETYPE_B;
-	if ((bits & (_P|_U|_L|_N|_B)) || ch == ' ')
-		ret |= (_RUNETYPE_R | _RUNETYPE_SW1);
-	if (ch == ' ' || ch == '\t')
-		ret |= _RUNETYPE_B;
-	return ret;
-}
-
-
 /*
  * rune file format.  network endian.
  */

Index: src/lib/libc/locale/runetype_local.h
diff -u src/lib/libc/locale/runetype_local.h:1.11 src/lib/libc/locale/runetype_local.h:1.12
--- src/lib/libc/locale/runetype_local.h:1.11	Sat Jun 19 13:26:52 2010
+++ src/lib/libc/locale/runetype_local.h	Sun Jun 20 02:23:15 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: runetype_local.h,v 1.11 2010/06/19 13:26:52 tnozaki Exp $	*/
+/*	$NetBSD: runetype_local.h,v 1.12 2010/06/20 02:23:15 tnozaki Exp $	*/
 
 /*-
  * Copyright (c) 1993
@@ -42,7 +42,7 @@
 #include <sys/types.h>
 #include <stdio.h>
 
-#include "runetype_file.h"
+#include "runetype_misc.h"
 
 #define _RUNE_ISCACHED(c)	((c)>=0 && (c)<_CTYPE_CACHE_SIZE)
 

Added files:

Index: src/lib/libc/locale/runetype_misc.h
diff -u /dev/null src/lib/libc/locale/runetype_misc.h:1.1
--- /dev/null	Sun Jun 20 02:23:15 2010
+++ src/lib/libc/locale/runetype_misc.h	Sun Jun 20 02:23:15 2010
@@ -0,0 +1,129 @@
+/* $NetBSD: runetype_misc.h,v 1.1 2010/06/20 02:23:15 tnozaki Exp $ */
+
+/*-
+ * Copyright (c) 1993
+ *	The Regents of the University of California.  All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Paul Borman at Krystal Technologies.
+ *
+ * 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.
+ *
+ *	@(#)runetype.h	8.1 (Berkeley) 6/2/93
+ */
+
+#ifndef	_RUNETYPE_MISC_H_
+#define	_RUNETYPE_MISC_H_
+
+#include <sys/ctype_bits.h>
+#include "runetype_file.h"
+
+static __inline int
+_runetype_to_ctype(_RuneType bits)
+{
+	int ret;
+
+	if (bits == (_RuneType)0)
+		return 0;
+	ret = 0;
+	if (bits & _RUNETYPE_U)
+		ret |= _U;
+	if (bits & _RUNETYPE_L)
+		ret |= _L;
+	if (bits & _RUNETYPE_D)
+		ret |= _N;
+	if (bits & _RUNETYPE_S)
+		ret |= _S;
+	if (bits & _RUNETYPE_P)
+		ret |= _P;
+	if (bits & _RUNETYPE_C)
+		ret |= _C;
+	if (bits & _RUNETYPE_X)
+		ret |= _X;
+	/*
+	 * TWEAK!  _B has been used incorrectly (or with older
+	 * declaration) in ctype.h isprint() macro.
+	 * _B does not mean isblank, it means "isprint && !isgraph".
+	 * the following is okay since isblank() was hardcoded in
+	 * function (i.e. isblank() is inherently locale unfriendly).
+	 */
+#if 1
+	if ((bits & (_RUNETYPE_R | _RUNETYPE_G)) == _RUNETYPE_R)
+		ret |= _B;
+#else
+	if (bits & _RUNETYPE_B)
+		ret |= _B;
+#endif
+	return ret;
+}
+
+static __inline _RuneType
+_runetype_from_ctype(int bits, int ch)
+{
+        _RuneType ret;
+
+	/*
+	 * TWEAKS!
+	 * - old locale file declarations do not have proper _B
+	 *   in many cases.
+	 * - isprint() declaration in ctype.h incorrectly uses _B.
+	 *   _B means "isprint but !isgraph", not "isblank" with the
+	 *   declaration.
+	 * - _X and _RUNETYPE_X have negligible difference in meaning.
+	 * - we don't set digit value, fearing that it would be
+	 *   too much of hardcoding.  we may need to revisit it.
+	 */
+
+	ret = (_RuneType)0;
+	if (bits & _U)
+		ret |= _RUNETYPE_U;
+	if (bits & _L)
+		ret |= _RUNETYPE_L;
+	if (bits & _N)
+		ret |= _RUNETYPE_D;
+	if (bits & _S)
+		ret |= _RUNETYPE_S;
+	if (bits & _P)
+		ret |= _RUNETYPE_P;
+	if (bits & _C)
+		ret |= _RUNETYPE_C;
+	/* derived flag bits, duplicate of ctype.h */
+	if (bits & (_U|_L))
+		ret |= _RUNETYPE_A;
+	if (bits & (_N|_X))
+		ret |= _RUNETYPE_X;
+	if (bits & (_P|_U|_L|_N))
+		ret |= _RUNETYPE_G;
+	/* we don't really trust _B in the file.  see above. */
+	if (bits & _B)
+		ret |= _RUNETYPE_B;
+	if ((bits & (_P|_U|_L|_N|_B)) || ch == ' ')
+		ret |= (_RUNETYPE_R | _RUNETYPE_SW1);
+	if (ch == ' ' || ch == '\t')
+		ret |= _RUNETYPE_B;
+	return ret;
+}
+
+#endif	/* !_RUNETYPE_MISC_H_ */

Reply via email to