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.

Reply via email to