public inbox for newlib-cvs@sourceware.org
help / color / mirror / Atom feed
From: Corinna Vinschen <corinna@sourceware.org>
To: newlib-cvs@sourceware.org
Subject: [newlib-cygwin] Revert "ctype: use less short names in public header"
Date: Fri,  3 Dec 2021 09:55:48 +0000 (GMT)	[thread overview]
Message-ID: <20211203095548.56AA6385841A@sourceware.org> (raw)

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=dbc7d28ba9bee25fec59734695b31f70c6ecf2ff

commit dbc7d28ba9bee25fec59734695b31f70c6ecf2ff
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Thu Dec 2 11:21:14 2021 +0100

    Revert "ctype: use less short names in public header"
    
    This patch fixed a problem which isn't in newlib, but in projects
    incorrectly using symbols from the reserved namespace.
    
    This reverts commit 3ba1bd0d9dbc015c14a0aaafcef042f706d1249a.

Diff:
---
 newlib/libc/ctype/ctype_.h     | 10 -------
 newlib/libc/ctype/isalnum.c    |  2 +-
 newlib/libc/ctype/isalnum_l.c  |  2 +-
 newlib/libc/ctype/isalpha.c    |  2 +-
 newlib/libc/ctype/isalpha_l.c  |  2 +-
 newlib/libc/ctype/isblank.c    |  2 +-
 newlib/libc/ctype/isblank_l.c  |  2 +-
 newlib/libc/ctype/iscntrl.c    |  2 +-
 newlib/libc/ctype/iscntrl_l.c  |  2 +-
 newlib/libc/ctype/isdigit.c    |  2 +-
 newlib/libc/ctype/isdigit_l.c  |  2 +-
 newlib/libc/ctype/islower.c    |  2 +-
 newlib/libc/ctype/islower_l.c  |  2 +-
 newlib/libc/ctype/isprint.c    |  4 +--
 newlib/libc/ctype/isprint_l.c  |  4 +--
 newlib/libc/ctype/ispunct.c    |  2 +-
 newlib/libc/ctype/ispunct_l.c  |  2 +-
 newlib/libc/ctype/isspace.c    |  2 +-
 newlib/libc/ctype/isspace_l.c  |  2 +-
 newlib/libc/ctype/isupper.c    |  2 +-
 newlib/libc/ctype/isupper_l.c  |  2 +-
 newlib/libc/ctype/isxdigit.c   |  2 +-
 newlib/libc/ctype/isxdigit_l.c |  2 +-
 newlib/libc/include/ctype.h    | 67 ++++++++++++++++++++----------------------
 24 files changed, 56 insertions(+), 69 deletions(-)

diff --git a/newlib/libc/ctype/ctype_.h b/newlib/libc/ctype/ctype_.h
index 42ad2c870..a73870b3e 100644
--- a/newlib/libc/ctype/ctype_.h
+++ b/newlib/libc/ctype/ctype_.h
@@ -1,15 +1,5 @@
 #include <ctype.h>
 
-/* Define some short names to keep internal files shorter.  */
-#define _U _ISupper
-#define _L _ISlower
-#define _N _ISdigit
-#define _S _ISspace
-#define _P _ISpunct
-#define _C _IScntrl
-#define _X _ISxdigit
-#define _B _ISblank
-
 #if (defined(__GNUC__) && !defined(__CHAR_UNSIGNED__) && !defined(COMPACT_CTYPE)) || defined (__CYGWIN__)
 #define ALLOW_NEGATIVE_CTYPE_INDEX
 #endif
diff --git a/newlib/libc/ctype/isalnum.c b/newlib/libc/ctype/isalnum.c
index 3ddf0d2e1..d926f97b7 100644
--- a/newlib/libc/ctype/isalnum.c
+++ b/newlib/libc/ctype/isalnum.c
@@ -46,5 +46,5 @@ No OS subroutines are required.
 int
 isalnum (int c)
 {
-	return(__CTYPE_PTR[c+1] & (_ISupper|_ISlower|_ISdigit));
+	return(__CTYPE_PTR[c+1] & (_U|_L|_N));
 }
diff --git a/newlib/libc/ctype/isalnum_l.c b/newlib/libc/ctype/isalnum_l.c
index e3587f1b2..dcb7e3652 100644
--- a/newlib/libc/ctype/isalnum_l.c
+++ b/newlib/libc/ctype/isalnum_l.c
@@ -6,5 +6,5 @@
 int
 isalnum_l (int c, struct __locale_t *locale)
 {
-  return __locale_ctype_ptr_l (locale)[c+1] & (_ISupper|_ISlower|_ISdigit);
+  return __locale_ctype_ptr_l (locale)[c+1] & (_U|_L|_N);
 }
diff --git a/newlib/libc/ctype/isalpha.c b/newlib/libc/ctype/isalpha.c
index c8de62cea..8b8e78a29 100644
--- a/newlib/libc/ctype/isalpha.c
+++ b/newlib/libc/ctype/isalpha.c
@@ -45,5 +45,5 @@ No supporting OS subroutines are required.
 int
 isalpha (int c)
 {
-	return(__CTYPE_PTR[c+1] & (_ISupper|_ISlower));
+	return(__CTYPE_PTR[c+1] & (_U|_L));
 }
diff --git a/newlib/libc/ctype/isalpha_l.c b/newlib/libc/ctype/isalpha_l.c
index 6ff1e3b68..dcae3ccb4 100644
--- a/newlib/libc/ctype/isalpha_l.c
+++ b/newlib/libc/ctype/isalpha_l.c
@@ -6,5 +6,5 @@
 int
 isalpha_l (int c, struct __locale_t *locale)
 {
-  return __locale_ctype_ptr_l (locale)[c+1] & (_ISupper|_ISlower);
+  return __locale_ctype_ptr_l (locale)[c+1] & (_U|_L);
 }
diff --git a/newlib/libc/ctype/isblank.c b/newlib/libc/ctype/isblank.c
index 2fa29f33f..0ebc2192c 100644
--- a/newlib/libc/ctype/isblank.c
+++ b/newlib/libc/ctype/isblank.c
@@ -44,5 +44,5 @@ No supporting OS subroutines are required.
 int
 isblank (int c)
 {
-	return ((__CTYPE_PTR[c+1] & _ISblank) || (c == '\t'));
+	return ((__CTYPE_PTR[c+1] & _B) || (c == '\t'));
 }
diff --git a/newlib/libc/ctype/isblank_l.c b/newlib/libc/ctype/isblank_l.c
index 6aff2f7fc..8bbb84e1f 100644
--- a/newlib/libc/ctype/isblank_l.c
+++ b/newlib/libc/ctype/isblank_l.c
@@ -6,5 +6,5 @@
 int
 isblank_l (int c, struct __locale_t *locale)
 {
-  return (__locale_ctype_ptr_l (locale)[c+1] & _ISblank) || (c == '\t');
+  return (__locale_ctype_ptr_l (locale)[c+1] & _B) || (c == '\t');
 }
diff --git a/newlib/libc/ctype/iscntrl.c b/newlib/libc/ctype/iscntrl.c
index bd99ebafb..ebbdd7371 100644
--- a/newlib/libc/ctype/iscntrl.c
+++ b/newlib/libc/ctype/iscntrl.c
@@ -48,5 +48,5 @@ No supporting OS subroutines are required.
 int
 iscntrl (int c)
 {
-	return(__CTYPE_PTR[c+1] & _IScntrl);
+	return(__CTYPE_PTR[c+1] & _C);
 }
diff --git a/newlib/libc/ctype/iscntrl_l.c b/newlib/libc/ctype/iscntrl_l.c
index 85f4d6900..0ae17c7f7 100644
--- a/newlib/libc/ctype/iscntrl_l.c
+++ b/newlib/libc/ctype/iscntrl_l.c
@@ -6,5 +6,5 @@
 int
 iscntrl_l (int c, struct __locale_t *locale)
 {
-  return __locale_ctype_ptr_l (locale)[c+1] & _IScntrl;
+  return __locale_ctype_ptr_l (locale)[c+1] & _C;
 }
diff --git a/newlib/libc/ctype/isdigit.c b/newlib/libc/ctype/isdigit.c
index 911781df3..a5c511964 100644
--- a/newlib/libc/ctype/isdigit.c
+++ b/newlib/libc/ctype/isdigit.c
@@ -47,5 +47,5 @@ No supporting OS subroutines are required.
 int
 isdigit (int c)
 {
-	return(__CTYPE_PTR[c+1] & _ISdigit);
+	return(__CTYPE_PTR[c+1] & _N);
 }
diff --git a/newlib/libc/ctype/isdigit_l.c b/newlib/libc/ctype/isdigit_l.c
index 6e24c100c..1fb79e000 100644
--- a/newlib/libc/ctype/isdigit_l.c
+++ b/newlib/libc/ctype/isdigit_l.c
@@ -6,5 +6,5 @@
 int
 isdigit_l (int c, struct __locale_t *locale)
 {
-  return __locale_ctype_ptr_l (locale)[c+1] & _ISdigit;
+  return __locale_ctype_ptr_l (locale)[c+1] & _N;
 }
diff --git a/newlib/libc/ctype/islower.c b/newlib/libc/ctype/islower.c
index c45c6c8ad..2b3440489 100644
--- a/newlib/libc/ctype/islower.c
+++ b/newlib/libc/ctype/islower.c
@@ -45,5 +45,5 @@ No supporting OS subroutines are required.
 int
 islower (int c)
 {
-	return ((__CTYPE_PTR[c+1] & (_ISupper|_ISlower)) == _ISlower);
+	return ((__CTYPE_PTR[c+1] & (_U|_L)) == _L);
 }
diff --git a/newlib/libc/ctype/islower_l.c b/newlib/libc/ctype/islower_l.c
index 1c66ab48b..d1f3a82d8 100644
--- a/newlib/libc/ctype/islower_l.c
+++ b/newlib/libc/ctype/islower_l.c
@@ -6,5 +6,5 @@
 int
 islower_l (int c, struct __locale_t *locale)
 {
-  return (__locale_ctype_ptr_l (locale)[c+1] & (_ISupper|_ISlower)) == _ISlower;
+  return (__locale_ctype_ptr_l (locale)[c+1] & (_U|_L)) == _L;
 }
diff --git a/newlib/libc/ctype/isprint.c b/newlib/libc/ctype/isprint.c
index 7206047fb..e34fbe28a 100644
--- a/newlib/libc/ctype/isprint.c
+++ b/newlib/libc/ctype/isprint.c
@@ -59,7 +59,7 @@ No supporting OS subroutines are required.
 int
 isgraph (int c)
 {
-	return(__CTYPE_PTR[c+1] & (_ISpunct|_ISupper|_ISlower|_ISdigit));
+	return(__CTYPE_PTR[c+1] & (_P|_U|_L|_N));
 }
 
 
@@ -67,5 +67,5 @@ isgraph (int c)
 int
 isprint (int c)
 {
-	return(__CTYPE_PTR[c+1] & (_ISpunct|_ISupper|_ISlower|_ISdigit|_ISblank));
+	return(__CTYPE_PTR[c+1] & (_P|_U|_L|_N|_B));
 }
diff --git a/newlib/libc/ctype/isprint_l.c b/newlib/libc/ctype/isprint_l.c
index 3efaa2f90..535504f14 100644
--- a/newlib/libc/ctype/isprint_l.c
+++ b/newlib/libc/ctype/isprint_l.c
@@ -6,7 +6,7 @@
 int
 isgraph_l (int c, struct __locale_t *locale)
 {
-  return __locale_ctype_ptr_l (locale)[c+1] & (_ISpunct|_ISupper|_ISlower|_ISdigit);
+  return __locale_ctype_ptr_l (locale)[c+1] & (_P|_U|_L|_N);
 }
 
 #undef isprint_l
@@ -14,5 +14,5 @@ isgraph_l (int c, struct __locale_t *locale)
 int
 isprint_l (int c, struct __locale_t *locale)
 {
-  return __locale_ctype_ptr_l (locale)[c+1] & (_ISpunct|_ISupper|_ISlower|_ISdigit|_ISblank);
+  return __locale_ctype_ptr_l (locale)[c+1] & (_P|_U|_L|_N|_B);
 }
diff --git a/newlib/libc/ctype/ispunct.c b/newlib/libc/ctype/ispunct.c
index 35f7cc2d4..9c5a3fcca 100644
--- a/newlib/libc/ctype/ispunct.c
+++ b/newlib/libc/ctype/ispunct.c
@@ -47,5 +47,5 @@ No supporting OS subroutines are required.
 int
 ispunct (int c)
 {
-	return(__CTYPE_PTR[c+1] & _ISpunct);
+	return(__CTYPE_PTR[c+1] & _P);
 }
diff --git a/newlib/libc/ctype/ispunct_l.c b/newlib/libc/ctype/ispunct_l.c
index 30c2b48d6..eeba1f5ae 100644
--- a/newlib/libc/ctype/ispunct_l.c
+++ b/newlib/libc/ctype/ispunct_l.c
@@ -6,6 +6,6 @@
 int
 ispunct_l (int c, struct __locale_t *locale)
 {
-  return __locale_ctype_ptr_l (locale)[c+1] & _ISpunct;
+  return __locale_ctype_ptr_l (locale)[c+1] & _P;
 }
 
diff --git a/newlib/libc/ctype/isspace.c b/newlib/libc/ctype/isspace.c
index 8834d1901..0def2c0ce 100644
--- a/newlib/libc/ctype/isspace.c
+++ b/newlib/libc/ctype/isspace.c
@@ -46,5 +46,5 @@ No supporting OS subroutines are required.
 int
 isspace (int c)
 {
-	return(__CTYPE_PTR[c+1] & _ISspace);
+	return(__CTYPE_PTR[c+1] & _S);
 }
diff --git a/newlib/libc/ctype/isspace_l.c b/newlib/libc/ctype/isspace_l.c
index 06227c87a..bf4a36c3e 100644
--- a/newlib/libc/ctype/isspace_l.c
+++ b/newlib/libc/ctype/isspace_l.c
@@ -6,6 +6,6 @@
 int
 isspace_l (int c, struct __locale_t *locale)
 {
-  return __locale_ctype_ptr_l (locale)[c+1] & _ISspace;
+  return __locale_ctype_ptr_l (locale)[c+1] & _S;
 }
 
diff --git a/newlib/libc/ctype/isupper.c b/newlib/libc/ctype/isupper.c
index 7d916d9f3..aeed383ec 100644
--- a/newlib/libc/ctype/isupper.c
+++ b/newlib/libc/ctype/isupper.c
@@ -43,5 +43,5 @@ No supporting OS subroutines are required.
 int
 isupper (int c)
 {
-	return ((__CTYPE_PTR[c+1] & (_ISupper|_ISlower)) == _ISupper);
+	return ((__CTYPE_PTR[c+1] & (_U|_L)) == _U);
 }
diff --git a/newlib/libc/ctype/isupper_l.c b/newlib/libc/ctype/isupper_l.c
index 1fdcf1072..eb473a7a1 100644
--- a/newlib/libc/ctype/isupper_l.c
+++ b/newlib/libc/ctype/isupper_l.c
@@ -6,6 +6,6 @@
 int
 isupper_l (int c, struct __locale_t *locale)
 {
-  return (__locale_ctype_ptr_l (locale)[c+1] & (_ISupper|_ISlower)) == _ISupper;
+  return (__locale_ctype_ptr_l (locale)[c+1] & (_U|_L)) == _U;
 }
 
diff --git a/newlib/libc/ctype/isxdigit.c b/newlib/libc/ctype/isxdigit.c
index fb2a59ea8..2bfe18dbf 100644
--- a/newlib/libc/ctype/isxdigit.c
+++ b/newlib/libc/ctype/isxdigit.c
@@ -46,5 +46,5 @@ No supporting OS subroutines are required.
 int
 isxdigit (int c)
 {
-	return(__CTYPE_PTR[c+1] & ((_ISxdigit)|(_ISdigit)));
+	return(__CTYPE_PTR[c+1] & ((_X)|(_N)));
 }
diff --git a/newlib/libc/ctype/isxdigit_l.c b/newlib/libc/ctype/isxdigit_l.c
index bbae410c6..726db3190 100644
--- a/newlib/libc/ctype/isxdigit_l.c
+++ b/newlib/libc/ctype/isxdigit_l.c
@@ -6,6 +6,6 @@
 int
 isxdigit_l (int c, struct __locale_t *locale)
 {
-  return __locale_ctype_ptr_l (locale)[c+1] & ((_ISxdigit)|(_ISdigit));
+  return __locale_ctype_ptr_l (locale)[c+1] & ((_X)|(_N));
 }
 
diff --git a/newlib/libc/include/ctype.h b/newlib/libc/include/ctype.h
index 65ab24bf0..b29594a45 100644
--- a/newlib/libc/include/ctype.h
+++ b/newlib/libc/include/ctype.h
@@ -57,17 +57,14 @@ extern int isascii_l (int __c, locale_t __l);
 extern int toascii_l (int __c, locale_t __l);
 #endif
 
-enum
-{
-  _ISupper = 01,
-  _ISlower = 02,
-  _ISdigit = 04,
-  _ISspace = 010,
-  _ISpunct = 020,
-  _IScntrl = 040,
-  _ISxdigit = 0100,
-  _ISblank = 0200,
-};
+#define	_U	01
+#define	_L	02
+#define	_N	04
+#define	_S	010
+#define _P	020
+#define _C	040
+#define _X	0100
+#define	_B	0200
 
 /* For C++ backward-compatibility only.  */
 extern	__IMPORT const char	_ctype_[];
@@ -92,22 +89,22 @@ const char *__locale_ctype_ptr (void);
    an out-of-bounds reference on a 64-bit machine.  */
 #define __ctype_lookup(__c) ((__CTYPE_PTR+sizeof(""[__c]))[(int)(__c)])
 
-#define	isalpha(__c)	(__ctype_lookup(__c) & (_ISupper|_ISlower))
-#define	isupper(__c)	((__ctype_lookup(__c) & (_ISupper|_ISlower)) == _ISupper)
-#define	islower(__c)	((__ctype_lookup(__c) & (_ISupper|_ISlower)) == _ISlower)
-#define	isdigit(__c)	(__ctype_lookup(__c) & _ISdigit)
-#define	isxdigit(__c)	(__ctype_lookup(__c) & (_ISxdigit|_ISdigit))
-#define	isspace(__c)	(__ctype_lookup(__c) & _ISspace)
-#define ispunct(__c)	(__ctype_lookup(__c) & _ISpunct)
-#define isalnum(__c)	(__ctype_lookup(__c) & (_ISupper|_ISlower|_ISdigit))
-#define isprint(__c)	(__ctype_lookup(__c) & (_ISpunct|_ISupper|_ISlower|_ISdigit|_ISblank))
-#define	isgraph(__c)	(__ctype_lookup(__c) & (_ISpunct|_ISupper|_ISlower|_ISdigit))
-#define iscntrl(__c)	(__ctype_lookup(__c) & _IScntrl)
+#define	isalpha(__c)	(__ctype_lookup(__c)&(_U|_L))
+#define	isupper(__c)	((__ctype_lookup(__c)&(_U|_L))==_U)
+#define	islower(__c)	((__ctype_lookup(__c)&(_U|_L))==_L)
+#define	isdigit(__c)	(__ctype_lookup(__c)&_N)
+#define	isxdigit(__c)	(__ctype_lookup(__c)&(_X|_N))
+#define	isspace(__c)	(__ctype_lookup(__c)&_S)
+#define ispunct(__c)	(__ctype_lookup(__c)&_P)
+#define isalnum(__c)	(__ctype_lookup(__c)&(_U|_L|_N))
+#define isprint(__c)	(__ctype_lookup(__c)&(_P|_U|_L|_N|_B))
+#define	isgraph(__c)	(__ctype_lookup(__c)&(_P|_U|_L|_N))
+#define iscntrl(__c)	(__ctype_lookup(__c)&_C)
 
 #if defined(__GNUC__) && __ISO_C_VISIBLE >= 1999
 #define isblank(__c) \
   __extension__ ({ __typeof__ (__c) __x = (__c);		\
-        (__ctype_lookup(__x)&_ISblank) || (int) (__x) == '\t';})
+        (__ctype_lookup(__x)&_B) || (int) (__x) == '\t';})
 #endif
 
 #if __POSIX_VISIBLE >= 200809
@@ -123,22 +120,22 @@ __locale_ctype_ptr_l(locale_t _l)
 #endif
 #define __ctype_lookup_l(__c,__l) ((__locale_ctype_ptr_l(__l)+sizeof(""[__c]))[(int)(__c)])
 
-#define	isalpha_l(__c,__l)	(__ctype_lookup_l(__c,__l) & (_ISupper|_ISlower))
-#define	isupper_l(__c,__l)	((__ctype_lookup_l(__c,__l) & (_ISupper|_ISlower)) == _ISupper)
-#define	islower_l(__c,__l)	((__ctype_lookup_l(__c,__l) & (_ISupper|_ISlower)) == _ISlower)
-#define	isdigit_l(__c,__l)	(__ctype_lookup_l(__c,__l) & _ISdigit)
-#define	isxdigit_l(__c,__l)	(__ctype_lookup_l(__c,__l) & (_ISxdigit|_ISdigit))
-#define	isspace_l(__c,__l)	(__ctype_lookup_l(__c,__l) & _ISspace)
-#define ispunct_l(__c,__l)	(__ctype_lookup_l(__c,__l) & _ISpunct)
-#define isalnum_l(__c,__l)	(__ctype_lookup_l(__c,__l) & (_ISupper|_ISlower|_ISdigit))
-#define isprint_l(__c,__l)	(__ctype_lookup_l(__c,__l) & (_ISpunct|_ISupper|_ISlower|_ISdigit|_ISblank))
-#define	isgraph_l(__c,__l)	(__ctype_lookup_l(__c,__l) & (_ISpunct|_ISupper|_ISlower|_ISdigit))
-#define iscntrl_l(__c,__l)	(__ctype_lookup_l(__c,__l) & _IScntrl)
+#define	isalpha_l(__c,__l)	(__ctype_lookup_l(__c,__l)&(_U|_L))
+#define	isupper_l(__c,__l)	((__ctype_lookup_l(__c,__l)&(_U|_L))==_U)
+#define	islower_l(__c,__l)	((__ctype_lookup_l(__c,__l)&(_U|_L))==_L)
+#define	isdigit_l(__c,__l)	(__ctype_lookup_l(__c,__l)&_N)
+#define	isxdigit_l(__c,__l)	(__ctype_lookup_l(__c,__l)&(_X|_N))
+#define	isspace_l(__c,__l)	(__ctype_lookup_l(__c,__l)&_S)
+#define ispunct_l(__c,__l)	(__ctype_lookup_l(__c,__l)&_P)
+#define isalnum_l(__c,__l)	(__ctype_lookup_l(__c,__l)&(_U|_L|_N))
+#define isprint_l(__c,__l)	(__ctype_lookup_l(__c,__l)&(_P|_U|_L|_N|_B))
+#define	isgraph_l(__c,__l)	(__ctype_lookup_l(__c,__l)&(_P|_U|_L|_N))
+#define iscntrl_l(__c,__l)	(__ctype_lookup_l(__c,__l)&_C)
 
 #if defined(__GNUC__)
 #define isblank_l(__c, __l) \
   __extension__ ({ __typeof__ (__c) __x = (__c);		\
-        (__ctype_lookup_l(__x,__l)&_ISblank) || (int) (__x) == '\t';})
+        (__ctype_lookup_l(__x,__l)&_B) || (int) (__x) == '\t';})
 #endif
 
 #endif /* __POSIX_VISIBLE >= 200809 */


                 reply	other threads:[~2021-12-03  9:55 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211203095548.56AA6385841A@sourceware.org \
    --to=corinna@sourceware.org \
    --cc=newlib-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).