X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2F_PDCLIB%2Fstdarg.c;h=c4248dbbe0c5b50f6543926443b2fd10daea4808;hb=e1c526e9bad3f6e69391e94059096145390508d3;hp=defd5fef31d8f7d9129c4cf6b2aac5d3ecc6c724;hpb=c7a9c2e3a08068d6b10656c0d3ba683f6ec74fa9;p=pdclib diff --git a/functions/_PDCLIB/stdarg.c b/functions/_PDCLIB/stdarg.c index defd5fe..c4248db 100644 --- a/functions/_PDCLIB/stdarg.c +++ b/functions/_PDCLIB/stdarg.c @@ -1,21 +1,15 @@ -/* $Id$ */ - -/* Release $Name$ */ - /* stdarg This file is part of the Public Domain C Library (PDCLib). Permission is granted to use, modify, and / or redistribute at will. */ -#ifdef TEST - -#include <_PDCLIB_test.h> #include #include #include +#ifdef TEST -unsigned int rc = 0; +#include <_PDCLIB_test.h> typedef int (*intfunc_t)( void ); @@ -32,6 +26,11 @@ enum tag_t TAG_FUNCPTR }; +static int dummy( void ) +{ + return INT_MAX; +} + static int test( enum tag_t s, ... ) { enum tag_t tag = s; @@ -85,7 +84,9 @@ static int test( enum tag_t s, ... ) } case TAG_FUNCPTR: { - TESTCASE( (va_arg( ap, intfunc_t ))() == INT_MAX ); + intfunc_t function; + TESTCASE( ( function = va_arg( ap, intfunc_t ) ) == dummy ); + TESTCASE( function() == INT_MAX ); tag = va_arg( ap, enum tag_t ); break; } @@ -98,12 +99,7 @@ static int test( enum tag_t s, ... ) } } -int dummy() -{ - return INT_MAX; -} - -int main() +int main( void ) { int x = INT_MAX; long double d = LDBL_MAX; @@ -114,5 +110,4 @@ int main() test( TAG_INTPTR, &x, TAG_LDBLPTR, &d, TAG_FUNCPTR, dummy, TAG_END ); return TEST_RESULTS; } - #endif