Print this page
2964 need POSIX 2008 locale object support
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Approved by: TBD
*** 1,50 ****
/*
! * CDDL HEADER START
*
! * The contents of this file are subject to the terms of the
! * Common Development and Distribution License, Version 1.0 only
! * (the "License"). You may not use this file except in compliance
! * with the License.
! *
! * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
! * or http://www.opensolaris.org/os/licensing.
! * See the License for the specific language governing permissions
! * and limitations under the License.
! *
! * When distributing Covered Code, include this CDDL HEADER in each
! * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
! * If applicable, add the following below this CDDL HEADER, with the
! * fields enclosed by brackets "[]" replaced with your own identifying
! * information: Portions Copyright [yyyy] [name of copyright owner]
! *
! * CDDL HEADER END
*/
/*
! * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
! * Use is subject to license terms.
*/
! #pragma ident "%Z%%M% %I% %E% SMI"
! #include <ctype.h>
! unsigned char __ctype[129] =
{
! 0, /* EOF */
! _C, _C, _C, _C, _C, _C, _C, _C,
! _C, _S|_C, _S|_C, _S|_C, _S|_C, _S|_C, _C, _C,
! _C, _C, _C, _C, _C, _C, _C, _C,
! _C, _C, _C, _C, _C, _C, _C, _C,
! _S|_B, _P, _P, _P, _P, _P, _P, _P,
! _P, _P, _P, _P, _P, _P, _P, _P,
! _N|_X, _N|_X, _N|_X, _N|_X, _N|_X, _N|_X, _N|_X, _N|_X,
! _N|_X, _N|_X, _P, _P, _P, _P, _P, _P,
! _P, _U|_X, _U|_X, _U|_X, _U|_X, _U|_X, _U|_X, _U,
! _U, _U, _U, _U, _U, _U, _U, _U,
! _U, _U, _U, _U, _U, _U, _U, _U,
! _U, _U, _U, _P, _P, _P, _P, _P,
! _P, _L|_X, _L|_X, _L|_X, _L|_X, _L|_X, _L|_X, _L,
! _L, _L, _L, _L, _L, _L, _L, _L,
! _L, _L, _L, _L, _L, _L, _L, _L,
! _L, _L, _L, _P, _P, _P, _P, _C,
! };
--- 1,97 ----
/*
! * This file and its contents are supplied under the terms of the
! * Common Development and Distribution License ("CDDL"), version 1.0.
! * You may only use this file in accordance with the terms of version
! * 1.0 of the CDDL.
*
! * A full copy of the text of the CDDL should have accompanied this
! * source. A copy of the CDDL is also available via the Internet at
! * http://www.illumos.org/license/CDDL.
*/
+
/*
! * Copyright 2014 Garrett D'Amore <garrett@damore.org>
*/
! /*
! * ASCII versions of ctype character classification functions. This avoids
! * pulling in the entire locale framework that is in libc.
! */
! int
! isdigit(int c)
! {
! return ((c >= '0' && c <= '9') ? 1 : 0);
! }
! int
! isupper(int c)
{
! return ((c >= 'A' && c <= 'Z') ? 1 : 0);
! }
!
!
! int
! islower(int c)
! {
! return ((c >= 'a' && c <= 'z') ? 1 : 0);
! }
!
! int
! isspace(int c)
! {
! return (((c == ' ') || (c == '\t') || (c == '\r') || (c == '\n') ||
! (c == '\v') || (c == '\f')) ? 1 : 0);
! }
!
! int
! isxdigit(int c)
! {
! return ((isdigit(c) || (c >= 'A' && c <= 'F') ||
! (c >= 'a' && c <= 'f')) ? 1 : 0);
! }
!
! int
! isalpha(int c)
! {
! return ((isupper(c) || islower(c)) ? 1 : 0);
! }
!
!
! int
! isalnum(int c)
! {
! return ((isalpha(c) || isdigit(c)) ? 1 : 0);
! }
!
! int
! ispunct(int c)
! {
! return (((c >= '!') && (c <= '/')) ||
! ((c >= ':') && (c <= '@')) ||
! ((c >= '[') && (c <= '`')) ||
! ((c >= '{') && (c <= '~')));
! }
!
! int
! iscntrl(int c)
! {
! return ((c < 0x20) || (c == 0x7f));
! }
!
! int
! isprint(int c)
! {
! /*
! * Almost the inverse of iscntrl, but be careful that c > 0x7f
! * returns false for everything.
! */
! return ((c >= ' ') && (c <= '~'));
! }
!
! int
! isgraph(int c)
! {
! /* isgraph is like is print, but excludes <space> */
! return ((c >= '!') && (c <= '~'));
! }