On Tue, 17 Jul 2007 16:32:09 -0700 "jerry gay" <[EMAIL PROTECTED]> wrote: > that's a big, ugly mess of macros. your solution is concise, but void > pointers are dangerous and should be avoided wherever possible. it's > not a coding standard yet, but it will be *soon*. perhaps there's a > solution that's both easier on the eyes, and safer.
I agree that void* pointers are dangerous, but hey, that's what Parrot_dlsym returns. Macros can gloss over the issue, but at some point, you have to assign Parrot_dlsym's void* return value to something else, and hope you get that right. You can try to hide it behind some macros, which is what UINTVAL2PTR() is for, and I did try that, and it didn't work. Short of storing symbol-prototype information in a special linker section and strcmp()ing that at runtime, which is probably even *uglier* and less portable, I don't know what else you can do here. But I'm open to suggestions. Mark