History log of /openssl/test/recipes/02-test_list.t (Results 1 – 1 of 1)
Revision Date Author Comments
# f5eac259 02-Sep-2022 Pauli

list: add a doubly linked list type.

These list can be embedded into structures and structures can be members of
multiple lists. Moreover, this is done without dynamic memory allocation

list: add a doubly linked list type.

These list can be embedded into structures and structures can be members of
multiple lists. Moreover, this is done without dynamic memory allocation.
That is, this is legal:

typedef struct item_st ITEM;

struct item_st {
...
OSSL_LIST_MEMBER(new_items, ITEM);
OSSL_LIST_MEMBER(failed_items, ITEM);
...
};

DEFINE_LIST_OF(new_items, TESTL);
DEFINE_LIST_OF(failed_items, TESTL);

struct {
...
OSSL_LIST(new_items) new;
OSSL_LIST(failed_items) failed;
...
} *st;

ITEM *p;

for (p = ossl_list_new_items_head(&st->new); p != NULL;
p = ossl_list_new_items_next(p))
/* do something */

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19115)

show more ...