From f3c73901cb5ca4de2651151cf2c65b31a729466e Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Fri, 18 Apr 2014 10:29:16 -0700 Subject: Upgrade our implementation to OpenBSD head. Adding the perfunctory tests showed that we'd accidentally dropped several symbols. This puts everything back in its proper place and switches us to upstream head at the same time. Change-Id: Ib527ad280c9baded81e667fa598698526d93e66f --- libc/stdlib/ctype_.c | 159 -------------------------------------------- libc/stdlib/ctype_private.h | 7 -- 2 files changed, 166 deletions(-) delete mode 100644 libc/stdlib/ctype_.c delete mode 100644 libc/stdlib/ctype_private.h (limited to 'libc/stdlib') diff --git a/libc/stdlib/ctype_.c b/libc/stdlib/ctype_.c deleted file mode 100644 index c4f294d..0000000 --- a/libc/stdlib/ctype_.c +++ /dev/null @@ -1,159 +0,0 @@ -/* $OpenBSD: ctype_.c,v 1.9 2005/08/08 08:05:33 espie 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. - */ - -#include -#include "ctype_private.h" - -#define _U _CTYPE_U -#define _L _CTYPE_L -#define _D _CTYPE_D -#define _S _CTYPE_S -#define _P _CTYPE_P -#define _C _CTYPE_C -#define _X _CTYPE_X -#define _B _CTYPE_B - -const char _C_ctype_[1 + CTYPE_NUM_CHARS] = { - 0, - _C, _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, - _S|(char)_B, _P, _P, _P, _P, _P, _P, _P, - _P, _P, _P, _P, _P, _P, _P, _P, - _D, _D, _D, _D, _D, _D, _D, _D, - _D, _D, _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, - /* determine printability based on the IS0 8859 8-bit standard */ - _L, _L, _L, _P, _P, _P, _P, _C, - - _C, _C, _C, _C, _C, _C, _C, _C, /* 80 */ - _C, _C, _C, _C, _C, _C, _C, _C, /* 88 */ - _C, _C, _C, _C, _C, _C, _C, _C, /* 90 */ - _C, _C, _C, _C, _C, _C, _C, _C, /* 98 */ - _P, _P, _P, _P, _P, _P, _P, _P, /* A0 */ - _P, _P, _P, _P, _P, _P, _P, _P, /* A8 */ - _P, _P, _P, _P, _P, _P, _P, _P, /* B0 */ - _P, _P, _P, _P, _P, _P, _P, _P, /* B8 */ - _P, _P, _P, _P, _P, _P, _P, _P, /* C0 */ - _P, _P, _P, _P, _P, _P, _P, _P, /* C8 */ - _P, _P, _P, _P, _P, _P, _P, _P, /* D0 */ - _P, _P, _P, _P, _P, _P, _P, _P, /* D8 */ - _P, _P, _P, _P, _P, _P, _P, _P, /* E0 */ - _P, _P, _P, _P, _P, _P, _P, _P, /* E8 */ - _P, _P, _P, _P, _P, _P, _P, _P, /* F0 */ - _P, _P, _P, _P, _P, _P, _P, _P /* F8 */ -}; - -const char *_ctype_ = _C_ctype_; - -int isalnum(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_U|_L|_D))); -} - -int isalpha(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_U|_L))); -} - -int iscntrl(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _C)); -} - -int isdigit(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _D)); -} - -int isgraph(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_P|_U|_L|_D))); -} - -int islower(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _L)); -} - -int isprint(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_P|_U|_L|_D|_B))); -} - -int ispunct(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _P)); -} - -int isspace(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _S)); -} - -int isupper(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _U)); -} - -int isxdigit(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_D|_X))); -} - -int isblank(int c) -{ - return (c == ' ' || c == '\t'); -} - -int isascii(int c) -{ - return ((unsigned int)c <= 0177); -} - -int toascii(int c) -{ - return (c & 0177); -} - -__strong_alias(_toupper, toupper); -__strong_alias(_tolower, tolower); diff --git a/libc/stdlib/ctype_private.h b/libc/stdlib/ctype_private.h deleted file mode 100644 index 39cc792..0000000 --- a/libc/stdlib/ctype_private.h +++ /dev/null @@ -1,7 +0,0 @@ -/* $OpenBSD: ctype_private.h,v 1.1 2005/08/08 05:53:00 espie Exp $ */ -/* Written by Marc Espie, public domain */ -#define CTYPE_NUM_CHARS 256 -extern const char _C_ctype_[]; -extern const short _C_toupper_[]; -extern const short _C_tolower_[]; - -- cgit v1.1