diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 75134d258e..fa79641e9f 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,5 +1,7 @@ 2011-02-01 Ralf Corsepius + * libmisc/stringto/stringtounsignedlonglong.c: Reformat range check. + c99 portability improvements. * libmisc/stringto/stringtounsignedlong.c: Reformat range check. * libmisc/stringto/stringtolong.c: Reformat range check. Add check for result==0. diff --git a/cpukit/libmisc/stringto/stringtounsignedlonglong.c b/cpukit/libmisc/stringto/stringtounsignedlonglong.c index e418a64624..61c6e2e063 100644 --- a/cpukit/libmisc/stringto/stringtounsignedlonglong.c +++ b/cpukit/libmisc/stringto/stringtounsignedlonglong.c @@ -21,6 +21,11 @@ #include +/* c99 has ULLONG_MAX instead of ULONG_LONG_MAX */ +#ifndef ULONG_LONG_MAX +#define ULONG_LONG_MAX ULLONG_MAX +#endif + /* * Instantiate an error checking wrapper for strtoull (unsigned long long) */ @@ -49,11 +54,9 @@ rtems_status_code rtems_string_to_unsigned_long_long ( if ( end == s ) return RTEMS_NOT_DEFINED; - if ( (result == ULONG_LONG_MAX) && (errno == ERANGE) ) - return RTEMS_INVALID_NUMBER; - - if ( (result == 0) && (errno == ERANGE) ) - return RTEMS_INVALID_NUMBER; + if ( ( errno == ERANGE ) && + (( result == 0 ) || ( result == ULONG_LONG_MAX ))) + return RTEMS_INVALID_NUMBER; *n = result;