| |
| Posted by Ki Rill in reply to Ki Rill | PermalinkReply |
|
Ki Rill
Posted in reply to Ki Rill
| On Wednesday, 20 September 2023 at 13:53:08 UTC, Ki Rill wrote:
> Here is the macro:
#define NK_CONTAINER_OF(ptr,type,member)\
(type*)((void*)((char*)(1 ? (ptr): &((type*)0)->member) - NK_OFFSETOF(type, member)))
I'm trying to translate the Nuklear GUI library to D here.
I did translate the library. Wow! That was a lot. It successfully builds, but does not work for long and crashes if I try to do something: it's either an assertion that fails or out of bounds array access is thrown by D. The only thing that works is pressing a button.
Now I need to somehow find and fix these things. Nuclear uses flexible array members in structs and I am a bit puzzled how to handle this without a major code refactor.
|