mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 08:15:41 +00:00
small rewrite by me, pass wine test and no bugs in ungetc accroing wine test of msvcrt.
svn path=/trunk/; revision=22143
This commit is contained in:
parent
2ac0c98f88
commit
fe3478c70d
1 changed files with 10 additions and 23 deletions
|
@ -19,9 +19,6 @@ _TINT _ungettc(_TINT c, FILE *f)
|
||||||
if (c == _TEOF)
|
if (c == _TEOF)
|
||||||
return _TEOF;
|
return _TEOF;
|
||||||
|
|
||||||
if (f->_ptr == NULL || f->_base == NULL)
|
|
||||||
return _TEOF;
|
|
||||||
|
|
||||||
if (f->_ptr == f->_base)
|
if (f->_ptr == f->_base)
|
||||||
{
|
{
|
||||||
if (f->_cnt == 0)
|
if (f->_cnt == 0)
|
||||||
|
@ -30,20 +27,10 @@ _TINT _ungettc(_TINT c, FILE *f)
|
||||||
return _TEOF;
|
return _TEOF;
|
||||||
}
|
}
|
||||||
|
|
||||||
f->_cnt+=sizeof(_TCHAR);
|
fseek(f, -1, SEEK_CUR);
|
||||||
f->_ptr-=sizeof(_TCHAR);
|
|
||||||
|
|
||||||
#if 1
|
if(*(_TCHAR*)f->_ptr != c)
|
||||||
if (*((_TCHAR*)(f->_ptr)) != c)
|
|
||||||
{
|
|
||||||
f->_flag |= _IOUNGETC;
|
|
||||||
*((_TCHAR*)(f->_ptr)) = c;
|
*((_TCHAR*)(f->_ptr)) = c;
|
||||||
}
|
|
||||||
#else
|
|
||||||
/* This is the old unicode version. Dunno what version is most correct. -Gunnar */
|
|
||||||
f->_flag |= _IOUNGETC;
|
|
||||||
*((_TCHAR*)(f->_ptr)) = c;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue