/*
 *  footest2 - helper to illustrate Win32 calling conventions
 */

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

int __declspec(dllexport) _cdecl   fn_two_args_import_cdecl(int i, int j);
int __declspec(dllexport) _stdcall fn_two_args_import_stdcall(int i, int j);
int __declspec(dllexport) _cdecl   fn_one_plus_import_cdecl(int i, ...);
int __declspec(dllexport) _stdcall fn_one_plus_import_stdcall(int i, ...);

int __declspec(dllexport) _cdecl   fn_two_args_import_cdecl(int i, int j)
{
    return i + j;
}

int __declspec(dllexport) _stdcall fn_two_args_import_stdcall(int i, int j)
{
    return i + j;
}

int __declspec(dllexport) _cdecl   fn_one_plus_import_cdecl(int i, ...)
{
    va_list vlist;
    va_start(vlist, i);
    return i + va_arg(vlist,int);
    va_end(vlist);
}

int __declspec(dllexport) _stdcall fn_one_plus_import_stdcall(int i, ...)
{
    va_list vlist;
    va_start(vlist, i);
    return i + va_arg(vlist,int);
    va_end(vlist);
}
