int foo(void) { if (h == NULL) foo_init(); return bar(); }
static int test_context(OPENSSL_CTX *ctx) { FOO *data = NULL; return TEST_true(foo_init()) && TEST_ptr(data = openssl_ctx_get_data(ctx, foo_index)) /* OPENSSL_zalloc in foo_new() initialized it to zero */ && TEST_int_eq(data->i, 42); }
static int test_app_context(void) { OPENSSL_CTX *ctx = NULL; int result = TEST_true(foo_init()) && TEST_ptr(ctx = OPENSSL_CTX_new()) && test_context(ctx); OPENSSL_CTX_free(ctx); return result; }
int main(int argc, char * argv[]) { foo_init(); bar_init(); return EXIT_SUCCESS; }
void bar_init() { foo_init(); }