limits.h: support gcc's -funsigned-char
authorRich Felker <dalias@aerifal.cx>
Wed, 21 Mar 2012 01:10:06 +0000 (21:10 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 21 Mar 2012 01:10:06 +0000 (21:10 -0400)
some software apparently uses this and breaks with musl due to
mismatching definitions...

include/limits.h

index 56f7a12f313dcad419d14e3a7543c9edbd09622f..25773ee464db3ba0424c80c919789ee3950c5327 100644 (file)
@@ -5,14 +5,22 @@
 
 #include <bits/limits.h>
 
+/* Support signed or unsigned plain-char */
+
+#ifdef __CHAR_UNSIGNED__
+#define CHAR_MIN 0
+#define CHAR_MAX 255
+#else
+#define CHAR_MIN (-128)
+#define CHAR_MAX 127
+#endif
+
 /* Some universal constants... */
 
 #define CHAR_BIT 8
 #define SCHAR_MIN (-128)
 #define SCHAR_MAX 127
 #define UCHAR_MAX 255
-#define CHAR_MIN (-128)
-#define CHAR_MAX 127
 #define SHRT_MIN  (-1-0x7fff)
 #define SHRT_MAX  0x7fff
 #define USHRT_MAX 0xffff