#include <stdlib.h>
#include <signal.h>

#include "kernel.h"

#include "Desk.Error2.h"
#include "Desk.DeskMem.h"


typedef struct	{
	void*			reference;
	Desk_Error2_vprintf_fn	fn;
	}
	v_block;


static int	f2v( void* reference, const char* format, ...)
	{
	v_block*	v = (v_block*) reference;
	int		i;
	
	va_list	va;
	va_start( va, format);
	i = v->fn( v->reference, format, va);
	va_end( va);
	
	return i;
	}


void	Desk_Error2_VDescribe( Desk_Error2_vprintf_fn fn, void* reference, const Desk_error2_block* error)
	{
	v_block	v;
	v.fn = fn;
	v.reference = reference;
	Desk_Error2_FDescribe( f2v, &v, error);
	}
