view osdep/vsscanf.c @ 19208:99d6ca895c46

Avoid large amounts of data on the stack (> 900k on 64 bit systems). Patch by Tobias Diedrich (ranma at tdiedrich de) with minor modifications by me.
author reimar
date Fri, 28 Jul 2006 13:50:08 +0000
parents 08cac43f1e38
children 936209c39ed1
line wrap: on
line source

#include "config.h"

#ifndef	HAVE_VSSCANF
/* system has no vsscanf.  try to provide one */

#include <stdio.h>
#include <stdarg.h>

int
vsscanf(const char *str, const char *format, va_list ap)
{
    /* XXX: can this be implemented in a more portable way? */
    long p1 = va_arg(ap, long);
    long p2 = va_arg(ap, long);
    long p3 = va_arg(ap, long);
    long p4 = va_arg(ap, long);
    long p5 = va_arg(ap, long);
    return sscanf(str, format, p1, p2, p3, p4, p5);
}
#endif