January 16, 2004 readBlock/read(ubyte[]) should probably return int not uint | ||||
---|---|---|---|---|
| ||||
readBlock and read(ubyte[]) for class Stream returns uint. Under linux it uses: size = std.c.linux.linux.read(hFile, buffer, size); Where read on POSIX systems returns -1 on error. So you would never know whether you had an error during reading. It would return 4294967295, which, granted is a pretty big buffer. :-) But much code for linux uses: if(read(blah) < 0) { perror("read"); } It would be kinda hacky (when porting C code to D) if you had to say: if(mystream.read(blah) == uint.max) { error; } -Damon- |
Copyright © 1999-2021 by the D Language Foundation