X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2F_PDCLIB%2Fatomax.c;h=58a8e58e438c207f44870656beef9883f6e9b70c;hb=10f020f1a39804bbef8cd1cf35ef7c9a8e75c7d6;hp=6835b14e9f45d1a0d591bfb64272562b00c1a658;hpb=12e17136786afb1775c9dc946cbe41f5e230c24a;p=pdclib.old diff --git a/functions/_PDCLIB/atomax.c b/functions/_PDCLIB/atomax.c index 6835b14..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,22 +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( void ) { +#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; }