https://issues.dlang.org/show_bug.cgi?id=14861
Issue ID: 14861
Summary: Error in stdio.d in LockingTextReader.readFront()
Product: D
Version: D2
Hardware: x86
OS: Windows
Status: NEW
Severity: critical
Priority: P1
Component: phobos
Assignee: [email protected]
Reporter: [email protected]
This mistake, is result of wrong algorithm with reading from the ring buffer of
the file and return of the read symbols there in stdio function ungetc().
This example doesn't work!
// dmd 2.067.1 Win 32
import std.stdio;
void main(string[] args) {
File fw = File("panic.csv", "w");
for(int i; i != 5000; i++) fw.writeln(i, ";", "Иванов;Пётр;Петрович");
fw.close();
// Test read
File fr = File("panic.csv", "r");
int nom; string fam, nam, ot;
// Error format read
while(!fr.eof) fr.readf("%s;%s;%s;%s\n", &nom, &fam, &nam, &ot);
}
--