You want to handle fatal errors (assertions) yourself rather than have the library call abort()
Step-by-step guide
This can be done via the C API
Define a function with the following signature:
typedef void (*codes_assertion_failed_proc)(const char* message);
Then call
codes_set_codes_assertion_failed_proc(&your_function);
- Now the library will call the chosen function (which for example could do nothing or throw a C++ exception) instead of the abort.
To restore the default behaviour, call
codes_set_codes_assertion_failed_proc(NULL);
- xx