2007-03-14 20:24:57 +00:00
|
|
|
/* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */
|
|
|
|
#include <precomp.h>
|
|
|
|
#include <tchar.h>
|
|
|
|
|
|
|
|
/*
|
|
|
|
* @implemented
|
|
|
|
*/
|
|
|
|
int
|
2008-06-11 08:54:46 +00:00
|
|
|
lnx__vstprintf(_TCHAR *str, const _TCHAR *fmt, va_list ap)
|
2007-03-14 20:24:57 +00:00
|
|
|
{
|
|
|
|
FILE f = {0};
|
|
|
|
int len;
|
|
|
|
|
|
|
|
f._flag = _IOWRT|_IOSTRG|_IOBINARY;
|
|
|
|
f._ptr = (char*)str;
|
|
|
|
f._cnt = INT_MAX;
|
|
|
|
f._file = -1;
|
2008-06-11 08:54:46 +00:00
|
|
|
len = lnx_vftprintf(&f,fmt, ap);
|
2007-03-14 20:24:57 +00:00
|
|
|
*(_TCHAR*)f._ptr = 0;
|
|
|
|
return len;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
* @implemented
|
|
|
|
*/
|
|
|
|
int
|
2008-06-11 08:54:46 +00:00
|
|
|
lnx__vsntprintf(_TCHAR *str, size_t maxlen, const _TCHAR *fmt, va_list ap)
|
2007-03-14 20:24:57 +00:00
|
|
|
{
|
|
|
|
FILE f = {0};
|
|
|
|
int len;
|
|
|
|
|
|
|
|
f._flag = _IOWRT|_IOSTRG|_IOBINARY;
|
|
|
|
f._ptr = (char*)str;
|
|
|
|
f._cnt = maxlen * sizeof(_TCHAR);
|
|
|
|
f._file = -1;
|
2008-06-11 08:54:46 +00:00
|
|
|
len = lnx_vftprintf(&f,fmt, ap);
|
2007-03-14 20:24:57 +00:00
|
|
|
// what if the buffer is full ??
|
|
|
|
*(_TCHAR *)f._ptr = 0;
|
|
|
|
return len;
|
|
|
|
}
|