icnhoukdsiih / testlib

Automatically exported from code.google.com/p/testlib
0 stars 0 forks source link

Функция InStream::unreadChar #39

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Функция 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 drozdovk...@gmail.com on 6 Apr 2014 at 3:23