Allow usage of external default callbacks

This commit is contained in:
Tim Ruffing
2019-03-04 15:36:35 +01:00
parent b7fca7590a
commit 9a949e5f2b
3 changed files with 64 additions and 22 deletions

View File

@@ -43,29 +43,32 @@
} \
} while(0)
#ifndef USE_EXTERNAL_DEFAULT_CALLBACKS
static void default_illegal_callback_fn(const char* str, void* data) {
(void)data;
fprintf(stderr, "[libsecp256k1] illegal argument: %s\n", str);
abort();
}
static void default_error_callback_fn(const char* str, void* data) {
(void)data;
fprintf(stderr, "[libsecp256k1] internal consistency check failed: %s\n", str);
abort();
}
#else
void default_illegal_callback_fn(const char* str, void* data);
void default_error_callback_fn(const char* str, void* data);
#endif
static const secp256k1_callback default_illegal_callback = {
default_illegal_callback_fn,
NULL
};
static void default_error_callback_fn(const char* str, void* data) {
(void)data;
fprintf(stderr, "[libsecp256k1] internal consistency check failed: %s\n", str);
abort();
}
static const secp256k1_callback default_error_callback = {
default_error_callback_fn,
NULL
};
struct secp256k1_context_struct {
secp256k1_ecmult_context ecmult_ctx;
secp256k1_ecmult_gen_context ecmult_gen_ctx;