summaryrefslogtreecommitdiffstats
path: root/sys/sys/limits.h
diff options
context:
space:
mode:
authorkan <kan@FreeBSD.org>2003-04-28 22:37:40 +0000
committerkan <kan@FreeBSD.org>2003-04-28 22:37:40 +0000
commitd026b2f2e33f65a023f669abe950f456effa6007 (patch)
tree73c9ae82d99db8d84e6c1032405cb18a83b8c87d /sys/sys/limits.h
parentaa1ca506e567ce9e120069d0e0de54e5658005a8 (diff)
downloadFreeBSD-src-d026b2f2e33f65a023f669abe950f456effa6007.zip
FreeBSD-src-d026b2f2e33f65a023f669abe950f456effa6007.tar.gz
Properly define CHAR_MIN/CHAR_MAX taking into account whether or
not __CHAR_UNSIGNED__ is defined.
Diffstat (limited to 'sys/sys/limits.h')
-rw-r--r--sys/sys/limits.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/sys/limits.h b/sys/sys/limits.h
index c9681b9..dd39ae0 100644
--- a/sys/sys/limits.h
+++ b/sys/sys/limits.h
@@ -54,8 +54,14 @@
#define SCHAR_MIN __SCHAR_MIN /* min value for a signed char */
#define UCHAR_MAX __UCHAR_MAX /* max value for an unsigned char */
-#define CHAR_MAX __CHAR_MAX /* max value for a char */
-#define CHAR_MIN __CHAR_MIN /* min value for a char */
+
+#ifdef __CHAR_UNSIGNED__
+#define CHAR_MAX UCHAR_MAX /* max value for a char */
+#define CHAR_MIN 0 /* min value for a char */
+#else
+#define CHAR_MAX SCHAR_MAX /* max value for a char */
+#define CHAR_MIN SCHAR_MIN /* min value for a char */
+#endif
#define USHRT_MAX __USHRT_MAX /* max value for an unsigned short */
#define SHRT_MAX __SHRT_MAX /* max value for a short */
OpenPOWER on IntegriCloud