Module Name: src
Committed By: tnozaki
Date: Tue Jun 1 13:52:08 UTC 2010
Modified Files:
src/distrib/sets/lists/comp: mi
src/include: ctype.h
src/lib/libc/citrus: citrus_lc_ctype.c
src/lib/libc/gen: ctype_.c isascii.c isctype.c tolower_.c toupper_.c
src/lib/libc/locale: _wctrans.c _wctype.c ctypeio.c fix_grouping.c
global_locale.c iswctype_mb.c iswctype_sb.c localeio_lc_ctype.c
rune.c runeglue.c runetable.c
src/sys/sys: Makefile
Added Files:
src/sys/sys: ctype_bits.h ctype_inline.h
Log Message:
more split ctype.h -> sys/ctype_inline.h, sys/ctype_bits.h
To generate a diff of this commit:
cvs rdiff -u -r1.1454 -r1.1455 src/distrib/sets/lists/comp/mi
cvs rdiff -u -r1.30 -r1.31 src/include/ctype.h
cvs rdiff -u -r1.5 -r1.6 src/lib/libc/citrus/citrus_lc_ctype.c
cvs rdiff -u -r1.17 -r1.18 src/lib/libc/gen/ctype_.c
cvs rdiff -u -r1.2 -r1.3 src/lib/libc/gen/isascii.c
cvs rdiff -u -r1.19 -r1.20 src/lib/libc/gen/isctype.c
cvs rdiff -u -r1.12 -r1.13 src/lib/libc/gen/tolower_.c \
src/lib/libc/gen/toupper_.c
cvs rdiff -u -r1.14 -r1.15 src/lib/libc/locale/_wctrans.c
cvs rdiff -u -r1.6 -r1.7 src/lib/libc/locale/_wctype.c
cvs rdiff -u -r1.12 -r1.13 src/lib/libc/locale/ctypeio.c
cvs rdiff -u -r1.4 -r1.5 src/lib/libc/locale/fix_grouping.c
cvs rdiff -u -r1.8 -r1.9 src/lib/libc/locale/global_locale.c
cvs rdiff -u -r1.7 -r1.8 src/lib/libc/locale/iswctype_mb.c
cvs rdiff -u -r1.9 -r1.10 src/lib/libc/locale/iswctype_sb.c
cvs rdiff -u -r1.2 -r1.3 src/lib/libc/locale/localeio_lc_ctype.c
cvs rdiff -u -r1.35 -r1.36 src/lib/libc/locale/rune.c
cvs rdiff -u -r1.17 -r1.18 src/lib/libc/locale/runeglue.c
cvs rdiff -u -r1.23 -r1.24 src/lib/libc/locale/runetable.c
cvs rdiff -u -r1.126 -r1.127 src/sys/sys/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/sys/ctype_bits.h src/sys/sys/ctype_inline.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/comp/mi
diff -u src/distrib/sets/lists/comp/mi:1.1454 src/distrib/sets/lists/comp/mi:1.1455
--- src/distrib/sets/lists/comp/mi:1.1454 Fri May 21 21:46:48 2010
+++ src/distrib/sets/lists/comp/mi Tue Jun 1 13:52:07 2010
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1454 2010/05/21 21:46:48 njoly Exp $
+# $NetBSD: mi,v 1.1455 2010/06/01 13:52:07 tnozaki Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -1973,6 +1973,8 @@
./usr/include/sys/core.h comp-c-include
./usr/include/sys/cpu_data.h comp-obsolete obsolete
./usr/include/sys/cpuio.h comp-c-include
+./usr/include/sys/ctype_bits.h comp-c-include
+./usr/include/sys/ctype_inline.h comp-c-include
./usr/include/sys/device.h comp-c-include
./usr/include/sys/device_if.h comp-c-include
./usr/include/sys/dir.h comp-c-include
Index: src/include/ctype.h
diff -u src/include/ctype.h:1.30 src/include/ctype.h:1.31
--- src/include/ctype.h:1.30 Sat May 22 06:38:15 2010
+++ src/include/ctype.h Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: ctype.h,v 1.30 2010/05/22 06:38:15 tnozaki Exp $ */
+/* $NetBSD: ctype.h,v 1.31 2010/06/01 13:52:08 tnozaki Exp $ */
/*
* Copyright (c) 1989 The Regents of the University of California.
@@ -42,20 +42,6 @@
#include <sys/cdefs.h>
#include <sys/featuretest.h>
-#define _U 0x01
-#define _L 0x02
-#define _N 0x04
-#define _S 0x08
-#define _P 0x10
-#define _C 0x20
-#define _X 0x40
-#define _B 0x80
-
-extern const unsigned char *_ctype_;
-extern const short *_tolower_tab_;
-extern const short *_toupper_tab_;
-
-
__BEGIN_DECLS
int isalnum(int);
int isalpha(int);
@@ -84,38 +70,8 @@
#endif
__END_DECLS
-#define isdigit(c) ((int)((_ctype_ + 1)[(c)] & _N))
-#define islower(c) ((int)((_ctype_ + 1)[(c)] & _L))
-#define isspace(c) ((int)((_ctype_ + 1)[(c)] & _S))
-#define ispunct(c) ((int)((_ctype_ + 1)[(c)] & _P))
-#define isupper(c) ((int)((_ctype_ + 1)[(c)] & _U))
-#define isalpha(c) ((int)((_ctype_ + 1)[(c)] & (_U|_L)))
-#define isxdigit(c) ((int)((_ctype_ + 1)[(c)] & (_N|_X)))
-#define isalnum(c) ((int)((_ctype_ + 1)[(c)] & (_U|_L|_N)))
-#define isprint(c) ((int)((_ctype_ + 1)[(c)] & (_P|_U|_L|_N|_B)))
-#define isgraph(c) ((int)((_ctype_ + 1)[(c)] & (_P|_U|_L|_N)))
-#define iscntrl(c) ((int)((_ctype_ + 1)[(c)] & _C))
-#define tolower(c) ((int)((_tolower_tab_ + 1)[(c)]))
-#define toupper(c) ((int)((_toupper_tab_ + 1)[(c)]))
-
-#if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
-#define isascii(c) ((unsigned)(c) <= 0177)
-#define toascii(c) ((c) & 0177)
-#define _tolower(c) ((c) - 'A' + 'a')
-#define _toupper(c) ((c) - 'a' + 'A')
-#endif
-
-#if defined(_ISO_C99_SOURCE) || (_POSIX_C_SOURCE - 0) > 200112L || \
- (_XOPEN_SOURCE - 0) > 600 || defined(_NETBSD_SOURCE)
-
-/*
- * isblank() is implemented as C function, due to insufficient bitwidth in
- * _ctype_. Note that _B does not mean isblank - it means isprint && !isgraph.
- */
-#if 0
-#define isblank(c) ((int)((_ctype_ + 1)[(c)] & _B))
-#endif
-
+#if defined(_NETBSD_SOURCE) && !defined(_CTYPE_NOINLINE)
+#include <sys/ctype_inline.h>
#endif
#endif /* !_CTYPE_H_ */
Index: src/lib/libc/citrus/citrus_lc_ctype.c
diff -u src/lib/libc/citrus/citrus_lc_ctype.c:1.5 src/lib/libc/citrus/citrus_lc_ctype.c:1.6
--- src/lib/libc/citrus/citrus_lc_ctype.c:1.5 Sat May 22 08:13:18 2010
+++ src/lib/libc/citrus/citrus_lc_ctype.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: citrus_lc_ctype.c,v 1.5 2010/05/22 08:13:18 tnozaki Exp $ */
+/* $NetBSD: citrus_lc_ctype.c,v 1.6 2010/06/01 13:52:08 tnozaki Exp $ */
/*-
* Copyright (c)2008 Citrus Project,
@@ -28,14 +28,14 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: citrus_lc_ctype.c,v 1.5 2010/05/22 08:13:18 tnozaki Exp $");
+__RCSID("$NetBSD: citrus_lc_ctype.c,v 1.6 2010/06/01 13:52:08 tnozaki Exp $");
#endif /* LIBC_SCCS and not lint */
#include "reentrant.h"
#include <sys/types.h>
+#include <sys/ctype_bits.h>
#include <sys/queue.h>
#include <assert.h>
-#include <ctype.h>
#include <errno.h>
#include <langinfo.h>
#include <limits.h>
Index: src/lib/libc/gen/ctype_.c
diff -u src/lib/libc/gen/ctype_.c:1.17 src/lib/libc/gen/ctype_.c:1.18
--- src/lib/libc/gen/ctype_.c:1.17 Sat May 22 06:38:15 2010
+++ src/lib/libc/gen/ctype_.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: ctype_.c,v 1.17 2010/05/22 06:38:15 tnozaki Exp $ */
+/* $NetBSD: ctype_.c,v 1.18 2010/06/01 13:52:08 tnozaki Exp $ */
/*
* Copyright (c) 1989 The Regents of the University of California.
@@ -39,11 +39,11 @@
#if 0
/*static char *sccsid = "from: @(#)ctype_.c 5.6 (Berkeley) 6/1/90";*/
#else
-__RCSID("$NetBSD: ctype_.c,v 1.17 2010/05/22 06:38:15 tnozaki Exp $");
+__RCSID("$NetBSD: ctype_.c,v 1.18 2010/06/01 13:52:08 tnozaki Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
-#include <ctype.h>
+#include <sys/ctype_bits.h>
#include <stdio.h>
#include "ctype_local.h"
Index: src/lib/libc/gen/isascii.c
diff -u src/lib/libc/gen/isascii.c:1.2 src/lib/libc/gen/isascii.c:1.3
--- src/lib/libc/gen/isascii.c:1.2 Thu Aug 7 16:42:51 2003
+++ src/lib/libc/gen/isascii.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: isascii.c,v 1.2 2003/08/07 16:42:51 agc Exp $ */
+/* $NetBSD: isascii.c,v 1.3 2010/06/01 13:52:08 tnozaki Exp $ */
/*
* Copyright (c) 1989 The Regents of the University of California.
@@ -38,12 +38,12 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: isascii.c,v 1.2 2003/08/07 16:42:51 agc Exp $");
+__RCSID("$NetBSD: isascii.c,v 1.3 2010/06/01 13:52:08 tnozaki Exp $");
#endif /* LIBC_SCCS and not lint */
+#define _CTYPE_NOINLINE
#include <ctype.h>
-#undef isascii
int
isascii(c)
int c;
Index: src/lib/libc/gen/isctype.c
diff -u src/lib/libc/gen/isctype.c:1.19 src/lib/libc/gen/isctype.c:1.20
--- src/lib/libc/gen/isctype.c:1.19 Sat May 22 13:15:59 2010
+++ src/lib/libc/gen/isctype.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: isctype.c,v 1.19 2010/05/22 13:15:59 tnozaki Exp $ */
+/* $NetBSD: isctype.c,v 1.20 2010/06/01 13:52:08 tnozaki Exp $ */
/*-
* Copyright (c)2008 Citrus Project,
@@ -28,11 +28,13 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: isctype.c,v 1.19 2010/05/22 13:15:59 tnozaki Exp $");
+__RCSID("$NetBSD: isctype.c,v 1.20 2010/06/01 13:52:08 tnozaki Exp $");
#endif /* LIBC_SCCS and not lint */
#include "namespace.h"
#include <sys/types.h>
+#include <sys/ctype_bits.h>
+#define _CTYPE_NOINLINE
#include <ctype.h>
#include <langinfo.h>
#define __SETLOCALE_SOURCE__
@@ -46,18 +48,6 @@
#define _CTYPE_TAB(table, i) ((_current_cache()->table + 1)[i])
-#undef isalnum
-#undef isalpha
-#undef iscntrl
-#undef isdigit
-#undef isgraph
-#undef islower
-#undef isprint
-#undef ispunct
-#undef isspace
-#undef isupper
-#undef isxdigit
-
#define _ISCTYPE_FUNC(name, bit) \
int \
is##name(int c) \
@@ -77,7 +67,6 @@
_ISCTYPE_FUNC(upper, _U )
_ISCTYPE_FUNC(xdigit, _N|_X )
-#undef isblank
int
isblank(int c)
{
@@ -85,28 +74,24 @@
return c == ' ' || c == '\t';
}
-#undef toupper
int
toupper(int c)
{
return (int)_CTYPE_TAB(toupper_tab, c);
}
-#undef tolower
int
tolower(int c)
{
return (int)_CTYPE_TAB(tolower_tab, c);
}
-#undef _toupper
int
_toupper(int c)
{
return (c - 'a' + 'A');
}
-#undef _tolower
int
_tolower(int c)
{
Index: src/lib/libc/gen/tolower_.c
diff -u src/lib/libc/gen/tolower_.c:1.12 src/lib/libc/gen/tolower_.c:1.13
--- src/lib/libc/gen/tolower_.c:1.12 Sat May 22 06:38:15 2010
+++ src/lib/libc/gen/tolower_.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: tolower_.c,v 1.12 2010/05/22 06:38:15 tnozaki Exp $ */
+/* $NetBSD: tolower_.c,v 1.13 2010/06/01 13:52:08 tnozaki Exp $ */
/*
* Written by J.T. Conklin <[email protected]>.
@@ -7,10 +7,10 @@
#include <sys/cdefs.h>
#if defined(LIBC_RCS) && !defined(lint)
-__RCSID("$NetBSD: tolower_.c,v 1.12 2010/05/22 06:38:15 tnozaki Exp $");
+__RCSID("$NetBSD: tolower_.c,v 1.13 2010/06/01 13:52:08 tnozaki Exp $");
#endif /* LIBC_RCS and not lint */
-#include <ctype.h>
+#include <sys/ctype_bits.h>
#include <stdio.h>
#include "ctype_local.h"
Index: src/lib/libc/gen/toupper_.c
diff -u src/lib/libc/gen/toupper_.c:1.12 src/lib/libc/gen/toupper_.c:1.13
--- src/lib/libc/gen/toupper_.c:1.12 Sat May 22 06:38:15 2010
+++ src/lib/libc/gen/toupper_.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: toupper_.c,v 1.12 2010/05/22 06:38:15 tnozaki Exp $ */
+/* $NetBSD: toupper_.c,v 1.13 2010/06/01 13:52:08 tnozaki Exp $ */
/*
* Written by J.T. Conklin <[email protected]>.
@@ -7,10 +7,10 @@
#include <sys/cdefs.h>
#if defined(LIBC_RCS) && !defined(lint)
-__RCSID("$NetBSD: toupper_.c,v 1.12 2010/05/22 06:38:15 tnozaki Exp $");
+__RCSID("$NetBSD: toupper_.c,v 1.13 2010/06/01 13:52:08 tnozaki Exp $");
#endif /* LIBC_RCS and not lint */
-#include <ctype.h>
+#include <sys/ctype_bits.h>
#include <stdio.h>
#include "ctype_local.h"
Index: src/lib/libc/locale/_wctrans.c
diff -u src/lib/libc/locale/_wctrans.c:1.14 src/lib/libc/locale/_wctrans.c:1.15
--- src/lib/libc/locale/_wctrans.c:1.14 Sat May 22 07:18:43 2010
+++ src/lib/libc/locale/_wctrans.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: _wctrans.c,v 1.14 2010/05/22 07:18:43 tnozaki Exp $ */
+/* $NetBSD: _wctrans.c,v 1.15 2010/06/01 13:52:08 tnozaki Exp $ */
/*-
* Copyright (c)2003 Citrus Project,
@@ -60,15 +60,15 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: _wctrans.c,v 1.14 2010/05/22 07:18:43 tnozaki Exp $");
+__RCSID("$NetBSD: _wctrans.c,v 1.15 2010/06/01 13:52:08 tnozaki Exp $");
#endif /* LIBC_SCCS and not lint */
#include "namespace.h"
+#include <sys/types.h>
#include <assert.h>
#include <wctype.h>
-#include <stdlib.h>
-#include <string.h>
+
#include "rune_local.h"
#include "_wctrans_local.h"
@@ -84,6 +84,8 @@
_RuneRange *rr;
_RuneEntry *base, *re;
+ _DIAGASSERT(te != NULL);
+
if (c == WEOF)
return (c);
Index: src/lib/libc/locale/_wctype.c
diff -u src/lib/libc/locale/_wctype.c:1.6 src/lib/libc/locale/_wctype.c:1.7
--- src/lib/libc/locale/_wctype.c:1.6 Sat May 22 07:18:43 2010
+++ src/lib/libc/locale/_wctype.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: _wctype.c,v 1.6 2010/05/22 07:18:43 tnozaki Exp $ */
+/* $NetBSD: _wctype.c,v 1.7 2010/06/01 13:52:08 tnozaki Exp $ */
/*-
* Copyright (c)2008 Citrus Project,
@@ -60,13 +60,12 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: _wctype.c,v 1.6 2010/05/22 07:18:43 tnozaki Exp $");
+__RCSID("$NetBSD: _wctype.c,v 1.7 2010/06/01 13:52:08 tnozaki Exp $");
#endif /* LIBC_SCCS and not lint */
+#include <sys/types.h>
#include <assert.h>
-#include <ctype.h>
-#include <errno.h>
-#include <string.h>
+#include <wctype.h>
#include "rune_local.h"
#include "_wctrans_local.h"
Index: src/lib/libc/locale/ctypeio.c
diff -u src/lib/libc/locale/ctypeio.c:1.12 src/lib/libc/locale/ctypeio.c:1.13
--- src/lib/libc/locale/ctypeio.c:1.12 Sat May 22 06:38:15 2010
+++ src/lib/libc/locale/ctypeio.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: ctypeio.c,v 1.12 2010/05/22 06:38:15 tnozaki Exp $ */
+/* $NetBSD: ctypeio.c,v 1.13 2010/06/01 13:52:08 tnozaki Exp $ */
/*
* Copyright (c) 1997 Christos Zoulas. All rights reserved.
@@ -26,12 +26,11 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: ctypeio.c,v 1.12 2010/05/22 06:38:15 tnozaki Exp $");
+__RCSID("$NetBSD: ctypeio.c,v 1.13 2010/06/01 13:52:08 tnozaki Exp $");
#endif /* LIBC_SCCS and not lint */
#include <sys/types.h>
#include <assert.h>
-#include <ctype.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
Index: src/lib/libc/locale/fix_grouping.c
diff -u src/lib/libc/locale/fix_grouping.c:1.4 src/lib/libc/locale/fix_grouping.c:1.5
--- src/lib/libc/locale/fix_grouping.c:1.4 Sun Jan 11 02:46:28 2009
+++ src/lib/libc/locale/fix_grouping.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: fix_grouping.c,v 1.4 2009/01/11 02:46:28 christos Exp $ */
+/* $NetBSD: fix_grouping.c,v 1.5 2010/06/01 13:52:08 tnozaki Exp $ */
/*
* Copyright (c) 2001 Alexey Zelkin <[email protected]>
@@ -35,10 +35,9 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: fix_grouping.c,v 1.4 2009/01/11 02:46:28 christos Exp $");
+__RCSID("$NetBSD: fix_grouping.c,v 1.5 2010/06/01 13:52:08 tnozaki Exp $");
#endif /* LIBC_SCCS and not lint */
-#include <ctype.h>
#include <limits.h>
#include <stddef.h>
@@ -55,7 +54,6 @@
static const char nogrouping[] = { NBCHAR_MAX, '\0' };
/* don't use libc's isdigit, it owes locale. */
-#undef isdigit
#define isdigit(c) (c >= '0' && c <= '9')
/*
Index: src/lib/libc/locale/global_locale.c
diff -u src/lib/libc/locale/global_locale.c:1.8 src/lib/libc/locale/global_locale.c:1.9
--- src/lib/libc/locale/global_locale.c:1.8 Sat May 22 13:15:59 2010
+++ src/lib/libc/locale/global_locale.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: global_locale.c,v 1.8 2010/05/22 13:15:59 tnozaki Exp $ */
+/* $NetBSD: global_locale.c,v 1.9 2010/06/01 13:52:08 tnozaki Exp $ */
/*-
* Copyright (c)2008 Citrus Project,
@@ -28,12 +28,12 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: global_locale.c,v 1.8 2010/05/22 13:15:59 tnozaki Exp $");
+__RCSID("$NetBSD: global_locale.c,v 1.9 2010/06/01 13:52:08 tnozaki Exp $");
#endif /* LIBC_SCCS and not lint */
#include <sys/types.h>
+#include <sys/ctype_bits.h>
#include <sys/localedef.h>
-#include <ctype.h>
#include <langinfo.h>
#include <limits.h>
#define __SETLOCALE_SOURCE__
Index: src/lib/libc/locale/iswctype_mb.c
diff -u src/lib/libc/locale/iswctype_mb.c:1.7 src/lib/libc/locale/iswctype_mb.c:1.8
--- src/lib/libc/locale/iswctype_mb.c:1.7 Sat May 22 07:18:43 2010
+++ src/lib/libc/locale/iswctype_mb.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: iswctype_mb.c,v 1.7 2010/05/22 07:18:43 tnozaki Exp $ */
+/* $NetBSD: iswctype_mb.c,v 1.8 2010/06/01 13:52:08 tnozaki Exp $ */
/*-
* Copyright (c)2008 Citrus Project,
@@ -28,18 +28,15 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: iswctype_mb.c,v 1.7 2010/05/22 07:18:43 tnozaki Exp $");
+__RCSID("$NetBSD: iswctype_mb.c,v 1.8 2010/06/01 13:52:08 tnozaki Exp $");
#endif /* LIBC_SCCS and not lint */
#include "namespace.h"
#include <sys/types.h>
#include <assert.h>
-#include <ctype.h>
#include <errno.h>
-#include <langinfo.h>
#define __SETLOCALE_SOURCE__
#include <locale.h>
-#include <stdlib.h>
#include <string.h>
#include <wctype.h>
Index: src/lib/libc/locale/iswctype_sb.c
diff -u src/lib/libc/locale/iswctype_sb.c:1.9 src/lib/libc/locale/iswctype_sb.c:1.10
--- src/lib/libc/locale/iswctype_sb.c:1.9 Sun May 30 08:28:53 2010
+++ src/lib/libc/locale/iswctype_sb.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: iswctype_sb.c,v 1.9 2010/05/30 08:28:53 tnozaki Exp $ */
+/* $NetBSD: iswctype_sb.c,v 1.10 2010/06/01 13:52:08 tnozaki Exp $ */
/*-
* Copyright (c)2008 Citrus Project,
@@ -28,18 +28,16 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: iswctype_sb.c,v 1.9 2010/05/30 08:28:53 tnozaki Exp $");
+__RCSID("$NetBSD: iswctype_sb.c,v 1.10 2010/06/01 13:52:08 tnozaki Exp $");
#endif /* LIBC_SCCS and not lint */
#include "namespace.h"
#include <assert.h>
+#define _CTYPE_NOINLINE
#include <ctype.h>
#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#include <wctype.h>
-#include <wchar.h>
#define _ISWCTYPE_FUNC(name) \
int \
Index: src/lib/libc/locale/localeio_lc_ctype.c
diff -u src/lib/libc/locale/localeio_lc_ctype.c:1.2 src/lib/libc/locale/localeio_lc_ctype.c:1.3
--- src/lib/libc/locale/localeio_lc_ctype.c:1.2 Sun Jan 11 02:46:28 2009
+++ src/lib/libc/locale/localeio_lc_ctype.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: localeio_lc_ctype.c,v 1.2 2009/01/11 02:46:28 christos Exp $ */
+/* $NetBSD: localeio_lc_ctype.c,v 1.3 2010/06/01 13:52:08 tnozaki Exp $ */
/*-
* Copyright (c)2008 Citrus Project,
@@ -28,14 +28,14 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: localeio_lc_ctype.c,v 1.2 2009/01/11 02:46:28 christos Exp $");
+__RCSID("$NetBSD: localeio_lc_ctype.c,v 1.3 2010/06/01 13:52:08 tnozaki Exp $");
#endif /* LIBC_SCCS and not lint */
#include "reentrant.h"
#include <sys/types.h>
+#include <sys/ctype_bits.h>
#include <sys/queue.h>
#include <assert.h>
-#include <ctype.h>
#include <errno.h>
#include <langinfo.h>
#include <limits.h>
Index: src/lib/libc/locale/rune.c
diff -u src/lib/libc/locale/rune.c:1.35 src/lib/libc/locale/rune.c:1.36
--- src/lib/libc/locale/rune.c:1.35 Sat May 22 07:18:43 2010
+++ src/lib/libc/locale/rune.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: rune.c,v 1.35 2010/05/22 07:18:43 tnozaki Exp $ */
+/* $NetBSD: rune.c,v 1.36 2010/06/01 13:52:08 tnozaki Exp $ */
/*-
* Copyright (c)1999 Citrus Project,
@@ -63,19 +63,20 @@
#if 0
static char sccsid[] = "@(#)rune.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: rune.c,v 1.35 2010/05/22 07:18:43 tnozaki Exp $");
+__RCSID("$NetBSD: rune.c,v 1.36 2010/06/01 13:52:08 tnozaki Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
#include "namespace.h"
+#include <sys/types.h>
+#include <sys/ctype_bits.h>
+#include <sys/stat.h>
#include <assert.h>
+#include <errno.h>
#include <stdio.h>
-#include <string.h>
#include <stdlib.h>
-#include <errno.h>
+#include <string.h>
#include <wchar.h>
-#include <sys/types.h>
-#include <sys/stat.h>
#include "citrus_module.h"
#include "citrus_ctype.h"
@@ -351,9 +352,6 @@
/*
* read in old LC_CTYPE declaration file, convert into runelocale info
*/
-#include <limits.h>
-#include <ctype.h>
-
_RuneLocale *
_Read_CTypeAsRune(fp)
FILE *fp;
Index: src/lib/libc/locale/runeglue.c
diff -u src/lib/libc/locale/runeglue.c:1.17 src/lib/libc/locale/runeglue.c:1.18
--- src/lib/libc/locale/runeglue.c:1.17 Sat May 22 07:18:43 2010
+++ src/lib/libc/locale/runeglue.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: runeglue.c,v 1.17 2010/05/22 07:18:43 tnozaki Exp $ */
+/* $NetBSD: runeglue.c,v 1.18 2010/06/01 13:52:08 tnozaki Exp $ */
/*-
* Copyright (c)1999 Citrus Project,
@@ -35,13 +35,12 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: runeglue.c,v 1.17 2010/05/22 07:18:43 tnozaki Exp $");
+__RCSID("$NetBSD: runeglue.c,v 1.18 2010/06/01 13:52:08 tnozaki Exp $");
#endif /* LIBC_SCCS and not lint */
#include <sys/types.h>
+#include <sys/ctype_bits.h>
#include <assert.h>
-#include <ctype.h>
-#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
Index: src/lib/libc/locale/runetable.c
diff -u src/lib/libc/locale/runetable.c:1.23 src/lib/libc/locale/runetable.c:1.24
--- src/lib/libc/locale/runetable.c:1.23 Sat May 22 07:18:43 2010
+++ src/lib/libc/locale/runetable.c Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: runetable.c,v 1.23 2010/05/22 07:18:43 tnozaki Exp $ */
+/* $NetBSD: runetable.c,v 1.24 2010/06/01 13:52:08 tnozaki Exp $ */
/*-
* Copyright (c) 1993
@@ -39,14 +39,12 @@
#if 0
static char sccsid[] = "@(#)table.c 8.1 (Berkeley) 6/27/93";
#else
-__RCSID("$NetBSD: runetable.c,v 1.23 2010/05/22 07:18:43 tnozaki Exp $");
+__RCSID("$NetBSD: runetable.c,v 1.24 2010/06/01 13:52:08 tnozaki Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
+#include <sys/types.h>
#include <assert.h>
-#include <ctype.h>
-#include <locale.h>
-#include <stdlib.h>
#include <wchar.h>
#include "citrus_module.h"
Index: src/sys/sys/Makefile
diff -u src/sys/sys/Makefile:1.126 src/sys/sys/Makefile:1.127
--- src/sys/sys/Makefile:1.126 Mon Mar 1 21:10:13 2010
+++ src/sys/sys/Makefile Tue Jun 1 13:52:08 2010
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.126 2010/03/01 21:10:13 darran Exp $
+# $NetBSD: Makefile,v 1.127 2010/06/01 13:52:08 tnozaki Exp $
.include <bsd.sys.mk>
@@ -8,7 +8,7 @@
bitops.h bootblock.h bswap.h buf.h \
callback.h callout.h cdefs.h cdefs_aout.h \
cdefs_elf.h cdio.h chio.h clockctl.h condvar.h conf.h core.h \
- cpuio.h \
+ cpuio.h ctype_bits.h ctype_inline.h \
device.h device_if.h \
dir.h dirent.h \
disk.h disklabel.h disklabel_acorn.h disklabel_gpt.h disklabel_rdb.h \
Added files:
Index: src/sys/sys/ctype_bits.h
diff -u /dev/null src/sys/sys/ctype_bits.h:1.1
--- /dev/null Tue Jun 1 13:52:09 2010
+++ src/sys/sys/ctype_bits.h Tue Jun 1 13:52:08 2010
@@ -0,0 +1,56 @@
+/* $NetBSD: ctype_bits.h,v 1.1 2010/06/01 13:52:08 tnozaki Exp $ */
+
+/*
+ * Copyright (c) 1989 The Regents of the University of California.
+ * All rights reserved.
+ * (c) UNIX System Laboratories, Inc.
+ * All or some portions of this file are derived from material licensed
+ * to the University of California by American Telephone and Telegraph
+ * Co. or Unix System Laboratories, Inc. and are reproduced herein with
+ * the permission of UNIX System Laboratories, Inc.
+ *
+ * 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.
+ *
+ * @(#)ctype.h 5.3 (Berkeley) 4/3/91
+ * NetBSD: ctype.h,v 1.30 2010/05/22 06:38:15 tnozaki Exp
+ */
+
+#ifndef _SYS_CTYPE_BITS_H_
+#define _SYS_CTYPE_BITS_H_
+
+#define _U 0x01
+#define _L 0x02
+#define _N 0x04
+#define _S 0x08
+#define _P 0x10
+#define _C 0x20
+#define _X 0x40
+#define _B 0x80
+
+extern const unsigned char *_ctype_;
+extern const short *_tolower_tab_;
+extern const short *_toupper_tab_;
+
+#endif /* !_SYS_CTYPE_BITS_H_ */
Index: src/sys/sys/ctype_inline.h
diff -u /dev/null src/sys/sys/ctype_inline.h:1.1
--- /dev/null Tue Jun 1 13:52:09 2010
+++ src/sys/sys/ctype_inline.h Tue Jun 1 13:52:08 2010
@@ -0,0 +1,82 @@
+/* $NetBSD: ctype_inline.h,v 1.1 2010/06/01 13:52:08 tnozaki Exp $ */
+
+/*
+ * Copyright (c) 1989 The Regents of the University of California.
+ * All rights reserved.
+ * (c) UNIX System Laboratories, Inc.
+ * All or some portions of this file are derived from material licensed
+ * to the University of California by American Telephone and Telegraph
+ * Co. or Unix System Laboratories, Inc. and are reproduced herein with
+ * the permission of UNIX System Laboratories, Inc.
+ *
+ * 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.
+ *
+ * @(#)ctype.h 5.3 (Berkeley) 4/3/91
+ * NetBSD: ctype.h,v 1.30 2010/05/22 06:38:15 tnozaki Exp
+ */
+
+#ifndef _CTYPE_INLINE_H_
+#define _CTYPE_INLINE_H_
+
+#include <sys/cdefs.h>
+#include <sys/featuretest.h>
+
+#include <sys/ctype_bits.h>
+
+#define isdigit(c) ((int)((_ctype_ + 1)[(c)] & _N))
+#define islower(c) ((int)((_ctype_ + 1)[(c)] & _L))
+#define isspace(c) ((int)((_ctype_ + 1)[(c)] & _S))
+#define ispunct(c) ((int)((_ctype_ + 1)[(c)] & _P))
+#define isupper(c) ((int)((_ctype_ + 1)[(c)] & _U))
+#define isalpha(c) ((int)((_ctype_ + 1)[(c)] & (_U|_L)))
+#define isxdigit(c) ((int)((_ctype_ + 1)[(c)] & (_N|_X)))
+#define isalnum(c) ((int)((_ctype_ + 1)[(c)] & (_U|_L|_N)))
+#define isprint(c) ((int)((_ctype_ + 1)[(c)] & (_P|_U|_L|_N|_B)))
+#define isgraph(c) ((int)((_ctype_ + 1)[(c)] & (_P|_U|_L|_N)))
+#define iscntrl(c) ((int)((_ctype_ + 1)[(c)] & _C))
+#define tolower(c) ((int)((_tolower_tab_ + 1)[(c)]))
+#define toupper(c) ((int)((_toupper_tab_ + 1)[(c)]))
+
+#if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
+#define isascii(c) ((unsigned)(c) <= 0177)
+#define toascii(c) ((c) & 0177)
+#define _tolower(c) ((c) - 'A' + 'a')
+#define _toupper(c) ((c) - 'a' + 'A')
+#endif
+
+#if defined(_ISO_C99_SOURCE) || (_POSIX_C_SOURCE - 0) > 200112L || \
+ (_XOPEN_SOURCE - 0) > 600 || defined(_NETBSD_SOURCE)
+
+/*
+ * isblank() is implemented as C function, due to insufficient bitwidth in
+ * _ctype_. Note that _B does not mean isblank - it means isprint && !isgraph.
+ */
+#if 0
+#define isblank(c) ((int)((_ctype_ + 1)[(c)] & _B))
+#endif
+
+#endif
+
+#endif /* !_CTYPE_INLINE_H_ */