Wireshark mailing list archives
Re: [Wireshark-commits] master f50ff01: Squelch 64-bit-to-32-bit warnings by just casting to int.
From: Guy Harris <guy () alum mit edu>
Date: Sun, 13 Sep 2015 13:51:31 -0700
On Sep 13, 2015, at 1:29 PM, Evan Huus <eapache () gmail com> wrote:
(BTW, gsize is the spawn of Satan; it should never be used except when you're dealing with GLib. It *should* have just been another name for size_t, but it's 32 bits on 64-bit Windows, which means it's narrower than size_t, which causes us some pain with g_snprintf().)Today I learned.
Yeah, gsize and gssize are huge botches in GLib. gsize isn't strictly necessary, given that C's had size_t since at least C90 (probably C89, but I no longer have a copy of C89). ssize_t is a POSIXism, required by system calls that take a size_t as a byte count and return the bytes transferred or -1 on error. Traditional UNIX used int for both, but the POSIX folks decided to use size_t for byte count arguments. size_t is unsigned, and 0 is, at least for read operations, unavailable as an error indication, as it means "end of data stream", they added a signed version of size_t for return values. Windows' _read() etc. still use int for byte counts and return values. So *maybe* gssize is useful, but they really should have made them both 64-bit on 64-bit Windows. ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org> Archives: https://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
Current thread:
- Re: [Wireshark-commits] master f50ff01: Squelch 64-bit-to-32-bit warnings by just casting to int. Evan Huus (Sep 13)
- Re: [Wireshark-commits] master f50ff01: Squelch 64-bit-to-32-bit warnings by just casting to int. Guy Harris (Sep 13)