X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2F_PDCLIB%2Fatomax.c;h=58a8e58e438c207f44870656beef9883f6e9b70c;hb=16a6b78f67e29d31e82d5efa0b86ebf9d0c1897d;hp=e2403f43b92f78897da90905e1b0f86ffb19aeea;hpb=ec01598cc2925e0bb00a50dd60ccd5ab5d3cbe57;p=pdclib diff --git a/functions/_PDCLIB/atomax.c b/functions/_PDCLIB/atomax.c index e2403f4..58a8e58 100644 --- a/functions/_PDCLIB/atomax.c +++ b/functions/_PDCLIB/atomax.c @@ -1,14 +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. */ -#define _PDCLIB_INT_H _PDCLIB_INT_H +#ifndef REGTEST #include <_PDCLIB_int.h> #include #include @@ -22,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; }