* BEGIN EXAMPLE
*/
-/* The index will always be entirely global, and dynamically allocated */
-static int foo_index = -1;
-
typedef struct foo_st {
int i;
void *data;
} FOO;
-static void *foo_new(void)
+static void *foo_new(OPENSSL_CTX *ctx)
{
FOO *ptr = OPENSSL_zalloc(sizeof(*ptr));
if (ptr != NULL)
foo_free
};
-static int foo_init(void) {
- foo_index = openssl_ctx_new_index(&foo_method);
-
- return foo_index != -1;
-}
-
/*
* END EXAMPLE
* ======================================================================
{
FOO *data = NULL;
- return (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));
+ return TEST_ptr(data = openssl_ctx_get_data(ctx, 0, &foo_method))
+ /* 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_ptr(ctx = OPENSSL_CTX_new()) && test_context(ctx));
+ int result =
+ TEST_ptr(ctx = OPENSSL_CTX_new())
+ && test_context(ctx);
OPENSSL_CTX_free(ctx);
return result;
int setup_tests(void)
{
- ADD_TEST(foo_init);
ADD_TEST(test_app_context);
ADD_TEST(test_def_context);
return 1;