3 #include "silcincludes.h"
10 int main(int argc, char **argv)
14 struct foo *f, *f1, *f2, *f3;
16 if (argc > 1 && !strcmp(argv[1], "-d")) {
18 silc_debug_hexdump = 1;
19 silc_log_set_debug_string("*list*");
22 silc_list_init(list, struct foo, next);
23 f1 = silc_calloc(1, sizeof(*f1));
27 f2 = silc_calloc(1, sizeof(*f2));
31 f3 = silc_calloc(1, sizeof(*f3));
36 silc_list_add(list, f1);
37 silc_list_add(list, f2);
38 silc_list_add(list, f3);
40 SILC_LOG_DEBUG(("f1=%p", f1));
41 SILC_LOG_DEBUG(("f2=%p", f2));
42 SILC_LOG_DEBUG(("f3=%p", f3));
44 silc_list_start(list);
45 while ((f = silc_list_get(list)) != SILC_LIST_END) {
46 SILC_LOG_DEBUG(("entry %d, %p, next=%p", f->i, f, f->next));
49 silc_list_start(list);
50 silc_list_del(list, f1);
51 while ((f = silc_list_get(list)) != SILC_LIST_END) {
52 SILC_LOG_DEBUG(("entry %d, %p, next=%p", f->i, f, f->next));
54 silc_list_del(list, f3);
55 while ((f = silc_list_get(list)) != SILC_LIST_END) {
56 SILC_LOG_DEBUG(("entry %d, %p, next=%p", f->i, f, f->next));
58 silc_list_del(list, f2);
59 while ((f = silc_list_get(list)) != SILC_LIST_END) {
60 SILC_LOG_DEBUG(("entry %d, %p, next=%p", f->i, f, f->next));
63 silc_list_add(list, f1);
64 silc_list_add(list, f2);
65 silc_list_add(list, f3);
67 silc_list_start(list);
68 while ((f = silc_list_get(list)) != SILC_LIST_END) {
69 SILC_LOG_DEBUG(("entry %d, %p, next=%p", f->i, f, f->next));
72 silc_list_del(list, f2);
74 silc_list_start(list);
75 while ((f = silc_list_get(list)) != SILC_LIST_END) {
76 SILC_LOG_DEBUG(("entry %d, %p, next=%p", f->i, f, f->next));
82 SILC_LOG_DEBUG(("Testing was %s", success ? "SUCCESS" : "FAILURE"));
83 fprintf(stderr, "Testing was %s\n", success ? "SUCCESS" : "FAILURE");