function wrapping mechanism

Ken Cunningham ken.cunningham.webuse at gmail.com
Thu Jan 24 04:53:03 UTC 2019


Hi all, 

I’m about to commit a new type of system to macports-legacy-support, to “wrap” current library functions to enable updating them to current functionality.

The general method is to:


#define function function_original

#include_next <system_header.h>

#undef function
#define function  macports_wrapped_function


———


and then we can make up our own improved macports_wrapped_function to fix deficiencies on older systems.

Three of us have had a look at this general method, and all so far find it workable. Once it becomes the committed method of wrapping functions, it will be hard to backtrack on it, so if anyone has an opinion / serious objection / strong abhorrence to the overall method, please contribute.

I think it works great, and very nicely solves the issues noted now and likely into the future, but there are many here who have more experience than I do.

Take a look, if you’re so inclined, please.

<https://github.com/macports/macports-legacy-support/pull/8>

Best,

Ken


More information about the macports-dev mailing list