I'm trying to work with some c functions that make use of varargs and I'm trying to push my d varargs to c varargs.

http://dpaste.dzfl.pl/ad08a6197963

Code:
___________________________________________________
import core.vararg;
import std.string : toStringz;
import std.c.stdio;

char[256] buffer;

void print(string format, ...)
{
    char* dest = buffer.ptr;
    snprintf(dest, 256UL, toStringz(fmt), _argptr);
    printf(dest);
}

void main(string[] args)
{
    print("%d, %d, %d\n", 1, 2, 3);
}
___________________________________________________
Output: -1080890848, 1073915632, 3


Reply via email to