testlib icon indicating copy to clipboard operation
testlib copied to clipboard

Функция InStream::unreadChar

Open GoogleCodeExporter opened this issue 10 years ago • 0 comments

Функция InStream::unreadChar принимает как параметр 
char и вызывает reader->unreadChar, принимающий int. 
Поскольку тип char знаковый во многих 
системах, происходит знаковое расширение с 
непредсказуемыми последствиями, например, 
код

    char c = inf.nextChar();
    inf.unreadChar(c);
    assert(c == inf.readChar());

провалит assert для файла с русской буквой я в 
windows 1251.

Original issue reported on code.google.com by [email protected] on 6 Apr 2014 at 3:23

GoogleCodeExporter avatar Jun 03 '15 09:06 GoogleCodeExporter