|
From: | Riccardo Mottola |
Subject: | Re: NSControls failing to set status/label on BigEndian/64bit |
Date: | Fri, 8 Jan 2021 01:23:06 +0100 |
User-agent: | Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 SeaMonkey/2.53.5.1 |
Hi Richard, Richard Frith-Macdonald wrote:
Changing the type of the masks from NSInteger to uint32_t would also fix the encoding/decoding of course. Maybe that has other issues though.
perhaps we should try a mixed approach: encode/decode in the format with uint32_t and int32_t, but then always cast to NSUInteger/NSInteger. That way we have that data "Fixed" as 32bits in the Gorm file from whatever platform we write into, but then cast/convert it to whatever we need.
A big doubt I have always is about typdefs, if they are signed or not, since I think to remember this is architecture/compiler dependent. I tried to leave that out to the compiler for now.
I just finished a first proposal, what do you think?The keyed path has two bFlags, which I think and I am worried about the code where buttonCellFlags are copied with a memcpy.. of which size? it needs to be of uint32_t to fit in memory, but is it?.. later is copied back with the struct size. Scary.
Riccardo
[Prev in Thread] | Current Thread | [Next in Thread] |