ungetwc_nolock
wint_t __cdecl ungetwc_nolock(wint_t Ch, FILE *File){
int flag;
char *ptr;
char *v5;
int v6;
if( !File )
{
xHalTimerWatchdogStop(0i64, 0i64);
return -1;
}
if( Ch == 0xFFFF )
return -1;
flag = File->_flag;
if( (flag & 1) == 0 && (flag & 0x82) != 0x80 )
return -1;
ptr = File->_ptr;
if( File->_ptr < File->_base + 2 )
{
if( File->_cnt || File->_bufsiz < 2u )
return -1;
ptr = File->_base + 2;
}
v5 = ptr - 2;
File->_ptr = v5;
if( (flag & 0x40) != 0 )
{
if( *(_WORD *)v5 != Ch )
{
File->_ptr = v5 + 2;
return -1;
}
}
else
{
*(_WORD *)v5 = Ch;
}
v6 = File->_flag;
File->_cnt += 2;
File->_flag = v6 & 0xFFFFFFEE | 1;
return Ch;
}Referenced by:
ReadString_0
winput_s