swoutput_s
__int64 __fastcall swoutput_s(char *a1, unsigned __int64 a2, unsigned __int16 *a3, int *a4){
int v6;
unsigned int v7;
char *ptr;
FILE File;
*(&File._cnt + 1) = 0;
memset(&File._file, 0, 20);
if( a2 )
{
if( a2 == -1i64 )
{
File._cnt = 0x7FFFFFFF;
goto LABEL_6;
}
if( a2 <= 0x3FFFFFFF )
{
File._cnt = 2 * a2;
LABEL_6:
File._base = a1;
File._ptr = a1;
File._flag = 66;
v6 = woutput_s((__int64)&File, a3, a4);
*(_WORD *)&a1[2 * a2 - 2] = 0;
v7 = v6;
if( v6 < 0 )
{
if( File._cnt >= 0 )
{
if( a1 )
{
if( a2 )
*(_WORD *)a1 = 0;
}
return v7;
}
return 4294967294i64;
}
if( --File._cnt < 0 )
{
if( flsbuf(0, &File) == -1 )
return 4294967294i64;
ptr = File._ptr;
}
else
{
*File._ptr = 0;
ptr = ++File._ptr;
}
if( --File._cnt >= 0 )
{
*ptr = 0;
return v7;
}
if( flsbuf(0, &File) != -1 )
return v7;
return 4294967294i64;
}
}
xHalTimerWatchdogStop(0i64, 0i64);
return 0xFFFFFFFFi64;
}Referenced by:
vsnwprintf_s
vswprintf_s