From 74c92a62fe1d815b90c72587504dfd57b51ae62b Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Tue, 23 Aug 2011 05:51:04 +0000 Subject: =?UTF-8?q?2011-08-23=20=20Ralf=20Cors=C3=A9pius=20=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libc/sys/rtems/include/limits.h: Compute SSIZE_MAX based on __SIZE_MAX__, __SIZEOF_SIZE_T__ and __CHAR_BIT__. --- newlib/ChangeLog | 5 +++++ newlib/libc/sys/rtems/include/limits.h | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/newlib/ChangeLog b/newlib/ChangeLog index bb8988804..c8dbd7f52 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,8 @@ +2011-08-23 Ralf Corsépius + + * libc/sys/rtems/include/limits.h: Compute SSIZE_MAX based on + __SIZE_MAX__, __SIZEOF_SIZE_T__ and __CHAR_BIT__. + 2011-08-22 Ralf Corsépius * libc/string/index.c: Include for "index". diff --git a/newlib/libc/sys/rtems/include/limits.h b/newlib/libc/sys/rtems/include/limits.h index 13e168c0a..43ede04e6 100644 --- a/newlib/libc/sys/rtems/include/limits.h +++ b/newlib/libc/sys/rtems/include/limits.h @@ -78,7 +78,13 @@ * Invariant values */ +#ifdef __SIZE_MAX__ +#define SSIZE_MAX (__SIZE_MAX__ >> 1) +#elif defined(__SIZEOF_SIZE_T__) && defined(__CHAR_BIT__) +#define SSIZE_MAX ((1UL << (__SIZEOF_SIZE_T__ * __CHAR_BIT__ - 1)) - 1) +#else /* historic fallback, wrong in most cases */ #define SSIZE_MAX 32767 +#endif /* * Maximum Values -- cgit v1.2.3