OK, I'm reading the Mono documentation, and I presume the Mono documentation
matches the .NET documentation, and I'm in mild shock.
public abstract int Read (byte[] buffer, int offset, int count)
Parameters
buffer
A System.Byte array. When this method returns, the elements
between offset and (offset + count) are replaced by the bytes
read from the current source.
offset
A System.Int32 that specifies the zero based byte offset
in buffer at which to begin storing the data read from the
current stream.
count
A System.Int32 that specifies the maximum number of bytes
to be read from the current stream.
Am I reading this correctly? This is 2006, almost 2007, Microsoft is moving
to 64-bit architectures, and size_t has been a derived type in UNIX since
the '80s precisely because different systems have different address spaces...
And they're hardcoding explicit bit lengths in the definition of the class
library?
Let's see... what does Microsoft say? Ah...
public abstract int Read (
[InAttribute] [OutAttribute] byte[] buffer,
int offset,
int count
)
And let's see...
Type Range Size .NET Framework Type
int -2,147,483,648 to 2,147,483,647 Signed 32-bit integer System.Int32
AUGH
AUGH AUGH AUGH
Hateful.