tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: strftime(3) oddities with %s, %z
>> Unless POSIX was stupid enough to mandate that all-bits-0 is nil for
>> any pointer type and something well-defined for floating-point.
> The former is definetely true. (Or will be.)
Sad. Well, their mistake.
> And i think on the TZ list it just came up it is generally true for
> all "modern" machines.
Oh, it is, it is, especially since the current definition of "modern"
seems to be "Linux/x86_64". :-þ
Portability is not - or at least in my opinion should not be - about
"does it run on most machines now" but "will it run on tomorrow's weird
new machine". This is why I don't generate/parse wire protocol by
overlaying structs onto octet streams. This is why I don't bzero
structs with pointers and floats, even though every machine I either
use now or expect to use uses all-0-bits for nil pointers and zero
floats. I want my code to be an instance of "What did you have to do
to port it to the new system?" "We typed `make'.".
Of course, it's not quite that simple in full generality. But that's
the aspect that I see as relevant to this thread.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse%rodents-montreal.org@localhost
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
Home |
Main Index |
Thread Index |
Old Index