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








Niko Korhonen <niktheblak hotmail.com>