X-Git-Url: https://pd.if.org/git/?p=pdclib;a=blobdiff_plain;f=functions%2F_PDCLIB%2Fstdarg.c;h=9e43be6a10bebda6bcb65c4489f5cfd05899abf4;hp=defd5fef31d8f7d9129c4cf6b2aac5d3ecc6c724;hb=da0f3f353d417fed71f358a48d5d5394145e460d;hpb=c7a9c2e3a08068d6b10656c0d3ba683f6ec74fa9 diff --git a/functions/_PDCLIB/stdarg.c b/functions/_PDCLIB/stdarg.c index defd5fe..9e43be6 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