digitalmars.D.bugs - Bug in std.stream in DMD v0.125
- Niko Korhonen (29/29) May 24 2005 The following program causes erratic behaviour with std.stream:
The following program causes erratic behaviour with std.stream: <code> import std.stream; void main() { static const char[] FILENAME = "test.bin"; static const uint NUM = 0x7F; File f = new File(FILENAME, FileMode.In | FileMode.Out); Stream s = f; s.write(NUM); f.seek(0, SeekPos.Set); uint x, y; s.read(x); f.seek(0, SeekPos.Set); s.read(y); printf("NUM:\t%u\nx:\t%u\ny:\t%u\n", NUM, x, y); } </code> The program outputs: NUM: 127 x: 127 y: 0 For some reason, y is 0 when it of course should be 127. Consecutive Stream.read calls with a uint argument set the argument's value to 0. This doesn't happen with int arguments.
May 24 2005