Thanks for all the feedback. > This just deals with the first error and there is no unwinding, is that OK? This should be OK. dlsym() only retrieves the address of a symbol from an already loaded object. The calls to dlsym() thus should not need to be unwound, it's sufficient to unload the object via dlclose(). > Other than that, did you run this through checkpatch.pl? I ran all patches through checkpath.pl. The only reported issues with this patch are the ones related to the use of the X-macro and one about the typedef for the PicoSAT type. Is the use of X-macros discouraged? Refactoring it wouldn't be a problem. (I think it makes most sense to keep the typedef, though, in order to keep the declarations compatible with those from the original header file.) Best regards, Ole Schuerks