[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: byteswap.h behavior
From: |
Collin Funk |
Subject: |
Re: byteswap.h behavior |
Date: |
Sun, 12 May 2024 15:43:40 -0700 |
User-agent: |
Mozilla Thunderbird |
On 5/12/24 1:30 PM, Paul Eggert wrote:
> I sense a bit of confusion here. Although POSIX allows <endian.h> symbols
> like be16toh to be macros, I don't see where it allows be16toh(X) to evaluate
> X more than once, so an expression like be16toh(i++) has well-defined
> behavior even though it has a side effect.
Ah, okay that makes sense thanks. I didn't realize that it would be
written explicitly I guess.
I started working on the module a bit using the POSIX specification.
When writing the test module I noticed that glibc doesn't define
uint16_t, uint32_t, and uint64_t in endian.h.
Does glibc take bug reports for that or is it waiting for the
specification to be official (i.e. not a draft)? I should probably
request a bugzilla account anyways so I can report bugs...
Collin
Re: byteswap.h behavior, Jeffrey Walton, 2024/05/12