X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2F_PDCLIB%2Fstdarg.c;h=61def6837958a0745e501c431f5ed58dcc78e349;hb=d6f1494a4f38a212b29a13ee713885058dcf0fe7;hp=defd5fef31d8f7d9129c4cf6b2aac5d3ecc6c724;hpb=c7a9c2e3a08068d6b10656c0d3ba683f6ec74fa9;p=pdclib diff --git a/functions/_PDCLIB/stdarg.c b/functions/_PDCLIB/stdarg.c index defd5fe..61def68 100644 --- a/functions/_PDCLIB/stdarg.c +++ b/functions/_PDCLIB/stdarg.c @@ -1,21 +1,14 @@ -/* $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 -unsigned int rc = 0; +#include "_PDCLIB_test.h" typedef int (*intfunc_t)( void ); @@ -32,6 +25,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 +83,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 +98,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 +109,3 @@ int main() test( TAG_INTPTR, &x, TAG_LDBLPTR, &d, TAG_FUNCPTR, dummy, TAG_END ); return TEST_RESULTS; } - -#endif