diff -Naur a/scanf/sscanffuns.c b/scanf/sscanffuns.c --- a/scanf/sscanffuns.c 2007-08-30 19:31:41.000000000 +0100 +++ b/scanf/sscanffuns.c 2009-04-08 10:45:09.000000000 +0100 @@ -22,14 +22,27 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #include +#include #include "gmp.h" #include "gmp-impl.h" static int -scan (const char **sp, const char *fmt, void *p1, void *p2) +scan (const char **sp, const char *fmt, ...) { - return sscanf (*sp, fmt, p1, p2); + va_list ap; + void *p1, *p2; + int ret; + + va_start(ap, fmt); + p1 = va_arg(ap, void*); + p2 = va_arg(ap, void*); + + ret = sscanf (*sp, fmt, p1, p2); + + va_end(ap); + + return ret; } static void