mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-18 23:12:15 +08:00
2008-07-21 Jeff Johnston <jjohnstn@redhat.com>
* libc/ctype/ctype_.c: Add new pointer __ctype_ptr__ which is one less than the old __ctype_ptr. * libc/ctype/isalnum.c: Use __ctype_ptr__. * libc/ctype/isalpha.c: Ditto. * libc/ctype/iscntrl.c: Ditto. * libc/ctype/isdigit.c: Ditto. * libc/ctype/islower.c: Ditto. * libc/ctype/isprint.c: Ditto. * libc/ctype/ispunct.c: Ditto. * libc/ctype/isspace.c: Ditto. * libc/ctype/isupper.c: Ditto. * libc/ctype/isxdigit.c: Ditto. * libc/include/ctype.h: Change ctype macros to use new __ctype_ptr__ and add declaration of __ctype_ptr__. Remove older ctype table pointers from here even though they can still work.
This commit is contained in:
parent
0485c2ceec
commit
fa914bf8ab
@ -1,3 +1,21 @@
|
||||
2008-07-21 Jeff Johnston <jjohnstn@redhat.com>
|
||||
|
||||
* libc/ctype/ctype_.c: Add new pointer __ctype_ptr__ which is one
|
||||
less than the old __ctype_ptr.
|
||||
* libc/ctype/isalnum.c: Use __ctype_ptr__.
|
||||
* libc/ctype/isalpha.c: Ditto.
|
||||
* libc/ctype/iscntrl.c: Ditto.
|
||||
* libc/ctype/isdigit.c: Ditto.
|
||||
* libc/ctype/islower.c: Ditto.
|
||||
* libc/ctype/isprint.c: Ditto.
|
||||
* libc/ctype/ispunct.c: Ditto.
|
||||
* libc/ctype/isspace.c: Ditto.
|
||||
* libc/ctype/isupper.c: Ditto.
|
||||
* libc/ctype/isxdigit.c: Ditto.
|
||||
* libc/include/ctype.h: Change ctype macros to use new __ctype_ptr__
|
||||
and add declaration of __ctype_ptr__. Remove older ctype table pointers
|
||||
from here even though they can still work.
|
||||
|
||||
2008-07-18 Ken Werner <ken.werner@de.ibm.com>
|
||||
|
||||
* libc/machine/spu/strcpy.h: Fix error in previous patch.
|
||||
|
@ -86,8 +86,10 @@ static _CONST char _ctype_b[128 + 256] = {
|
||||
|
||||
# if defined(__CYGWIN__)
|
||||
_CONST char __declspec(dllexport) *__ctype_ptr = _ctype_b + 128;
|
||||
_CONST char __declspec(dllexport) *__ctype_ptr__ = _ctype_b + 127;
|
||||
# else
|
||||
_CONST char *__ctype_ptr = _ctype_b + 128;
|
||||
_CONST char *__ctype_ptr__ = _ctype_b + 127;
|
||||
# endif
|
||||
|
||||
# if defined(_HAVE_ARRAY_ALIASING)
|
||||
@ -124,4 +126,5 @@ _CONST char _ctype_[1 + 256] = {
|
||||
};
|
||||
|
||||
_CONST char *__ctype_ptr = _ctype_ + 1;
|
||||
_CONST char *__ctype_ptr__ = _ctype_;
|
||||
#endif
|
||||
|
@ -41,6 +41,6 @@ No OS subroutines are required.
|
||||
int
|
||||
_DEFUN(isalnum,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & (_U|_L|_N));
|
||||
return(__ctype_ptr__[c+1] & (_U|_L|_N));
|
||||
}
|
||||
|
||||
|
@ -39,6 +39,6 @@ No supporting OS subroutines are required.
|
||||
int
|
||||
_DEFUN(isalpha,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & (_U|_L));
|
||||
return(__ctype_ptr__[c+1] & (_U|_L));
|
||||
}
|
||||
|
||||
|
@ -42,7 +42,7 @@ No supporting OS subroutines are required.
|
||||
int
|
||||
_DEFUN(iscntrl,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & _C);
|
||||
return(__ctype_ptr__[c+1] & _C);
|
||||
}
|
||||
|
||||
|
||||
|
@ -39,5 +39,5 @@ No supporting OS subroutines are required.
|
||||
int
|
||||
_DEFUN(isdigit,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & _N);
|
||||
return(__ctype_ptr__[c+1] & _N);
|
||||
}
|
||||
|
@ -38,6 +38,6 @@ No supporting OS subroutines are required.
|
||||
int
|
||||
_DEFUN(islower,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & _L);
|
||||
return(__ctype_ptr__[c+1] & _L);
|
||||
}
|
||||
|
||||
|
@ -47,7 +47,7 @@ No supporting OS subroutines are required.
|
||||
int
|
||||
_DEFUN(isgraph,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & (_P|_U|_L|_N));
|
||||
return(__ctype_ptr__[c+1] & (_P|_U|_L|_N));
|
||||
}
|
||||
|
||||
|
||||
@ -55,6 +55,6 @@ _DEFUN(isgraph,(c),int c)
|
||||
int
|
||||
_DEFUN(isprint,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & (_P|_U|_L|_N|_B));
|
||||
return(__ctype_ptr__[c+1] & (_P|_U|_L|_N|_B));
|
||||
}
|
||||
|
||||
|
@ -41,6 +41,6 @@ No supporting OS subroutines are required.
|
||||
int
|
||||
_DEFUN(ispunct,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & _P);
|
||||
return(__ctype_ptr__[c+1] & _P);
|
||||
}
|
||||
|
||||
|
@ -39,6 +39,6 @@ No supporting OS subroutines are required.
|
||||
int
|
||||
_DEFUN(isspace,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & _S);
|
||||
return(__ctype_ptr__[c+1] & _S);
|
||||
}
|
||||
|
||||
|
@ -38,6 +38,6 @@ No supporting OS subroutines are required.
|
||||
int
|
||||
_DEFUN(isupper,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & _U);
|
||||
return(__ctype_ptr__[c+1] & _U);
|
||||
}
|
||||
|
||||
|
@ -40,6 +40,6 @@ No supporting OS subroutines are required.
|
||||
int
|
||||
_DEFUN(isxdigit,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & ((_X)|(_N)));
|
||||
return(__ctype_ptr__[c+1] & ((_X)|(_N)));
|
||||
}
|
||||
|
||||
|
@ -36,21 +36,20 @@ int _EXFUN(_toupper, (int __c));
|
||||
#define _X 0100
|
||||
#define _B 0200
|
||||
|
||||
extern __IMPORT _CONST char *__ctype_ptr;
|
||||
extern __IMPORT _CONST char _ctype_[]; /* For backward compatibility. */
|
||||
extern __IMPORT _CONST char *__ctype_ptr__;
|
||||
|
||||
#ifndef __cplusplus
|
||||
#define isalpha(c) ((__ctype_ptr)[(unsigned)(c)]&(_U|_L))
|
||||
#define isupper(c) ((__ctype_ptr)[(unsigned)(c)]&_U)
|
||||
#define islower(c) ((__ctype_ptr)[(unsigned)(c)]&_L)
|
||||
#define isdigit(c) ((__ctype_ptr)[(unsigned)(c)]&_N)
|
||||
#define isxdigit(c) ((__ctype_ptr)[(unsigned)(c)]&(_X|_N))
|
||||
#define isspace(c) ((__ctype_ptr)[(unsigned)(c)]&_S)
|
||||
#define ispunct(c) ((__ctype_ptr)[(unsigned)(c)]&_P)
|
||||
#define isalnum(c) ((__ctype_ptr)[(unsigned)(c)]&(_U|_L|_N))
|
||||
#define isprint(c) ((__ctype_ptr)[(unsigned)(c)]&(_P|_U|_L|_N|_B))
|
||||
#define isgraph(c) ((__ctype_ptr)[(unsigned)(c)]&(_P|_U|_L|_N))
|
||||
#define iscntrl(c) ((__ctype_ptr)[(unsigned)(c)]&_C)
|
||||
#define isalpha(c) ((__ctype_ptr__)[(unsigned)((c)+1)]&(_U|_L))
|
||||
#define isupper(c) ((__ctype_ptr__)[(unsigned)((c)+1)]&_U)
|
||||
#define islower(c) ((__ctype_ptr__)[(unsigned)((c)+1)]&_L)
|
||||
#define isdigit(c) ((__ctype_ptr__)[(unsigned)((c)+1)]&_N)
|
||||
#define isxdigit(c) ((__ctype_ptr__)[(unsigned)((c)+1)]&(_X|_N))
|
||||
#define isspace(c) ((__ctype_ptr__)[(unsigned)((c)+1)]&_S)
|
||||
#define ispunct(c) ((__ctype_ptr__)[(unsigned)((c)+1)]&_P)
|
||||
#define isalnum(c) ((__ctype_ptr__)[(unsigned)((c)+1)]&(_U|_L|_N))
|
||||
#define isprint(c) ((__ctype_ptr__)[(unsigned)((c)+1)]&(_P|_U|_L|_N|_B))
|
||||
#define isgraph(c) ((__ctype_ptr__)[(unsigned)((c)+1)]&(_P|_U|_L|_N))
|
||||
#define iscntrl(c) ((__ctype_ptr__)[(unsigned)((c)+1)]&_C)
|
||||
|
||||
|
||||
/* Non-gcc versions will get the library versions, and will be
|
||||
|
Loading…
x
Reference in New Issue
Block a user