* Update ungetc().
CORE-8080

svn path=/trunk/; revision=63293
This commit is contained in:
Amine Khaldi 2014-05-14 14:55:37 +00:00
parent 05ef5aeeed
commit 74d68f4624

View file

@ -3880,13 +3880,19 @@ int CDECL ungetc(int c, FILE * file)
return EOF; return EOF;
_lock_file(file); _lock_file(file);
if(file->_bufsiz == 0) { if(file->_bufsiz == 0 && alloc_buffer(file))
alloc_buffer(file);
file->_ptr++; file->_ptr++;
}
if(file->_ptr>file->_base) { if(file->_ptr>file->_base) {
file->_ptr--; file->_ptr--;
*file->_ptr=c; if(file->_flag & _IOSTRG) {
if(*file->_ptr != c) {
file->_ptr++;
_unlock_file(file);
return EOF;
}
}else {
*file->_ptr = c;
}
file->_cnt++; file->_cnt++;
clearerr(file); clearerr(file);
_unlock_file(file); _unlock_file(file);