From c368bd64147fece1323b565fc22517f458f7b39b Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Tue, 1 Feb 2011 05:38:01 +0000 Subject: [PATCH] 2011-02-01 Ralf Corsepius * libmisc/stringto/stringtounsignedlonglong.c: Reformat range check. c99 portability improvements. --- cpukit/ChangeLog | 2 ++ cpukit/libmisc/stringto/stringtounsignedlonglong.c | 13 ++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) 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;