X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2F_PDCLIB%2Fatomax.c;h=58a8e58e438c207f44870656beef9883f6e9b70c;hb=219271fd548949abce8bd75c34dd42e519418fc4;hp=bde1fafffa8416190898035a1b8dce90d550ae53;hpb=bb7adccc31cb145b671afe75c432da3fc494ad48;p=pdclib diff --git a/functions/_PDCLIB/atomax.c b/functions/_PDCLIB/atomax.c index bde1faf..58a8e58 100644 --- a/functions/_PDCLIB/atomax.c +++ b/functions/_PDCLIB/atomax.c @@ -1,13 +1,12 @@ /* $Id$ */ -/* Release $Name$ */ - /* _PDCLIB_atomax( const char * ) This file is part of the Public Domain C Library (PDCLib). Permission is granted to use, modify, and / or redistribute at will. */ +#ifndef REGTEST #include <_PDCLIB_int.h> #include #include @@ -21,23 +20,26 @@ _PDCLIB_intmax_t _PDCLIB_atomax( const char * s ) while ( isspace( *s ) ) ++s; if ( *s == '+' ) ++s; else if ( *s == '-' ) sign = *(s++); - while ( ( x = memchr( _PDCLIB_digits, *(s++), 10 ) ) != NULL ) + /* TODO: Earlier version was missing tolower() but was not caught by tests */ + while ( ( x = memchr( _PDCLIB_digits, tolower(*(s++)), 10 ) ) != NULL ) { rc = rc * 10 + ( x - _PDCLIB_digits ); } return ( sign == '+' ) ? rc : -rc; } +#endif #ifdef TEST #include <_PDCLIB_test.h> -int main() +int main( void ) { - BEGIN_TESTS; +#ifndef REGTEST /* basic functionality */ TESTCASE( _PDCLIB_atomax( "123" ) == 123 ); /* testing skipping of leading whitespace and trailing garbage */ TESTCASE( _PDCLIB_atomax( " \n\v\t\f123xyz" ) == 123 ); +#endif return TEST_RESULTS; }