aboutsummaryrefslogtreecommitdiff
path: root/src/util/test_container_slist.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-10-14 07:22:42 +0000
committerChristian Grothoff <christian@grothoff.org>2011-10-14 07:22:42 +0000
commit662b5736c37e8cf2b3e6aa5af53cef0d03b743ab (patch)
treec4299637a2db19a3e87957645d5aa58e196da43f /src/util/test_container_slist.c
parent94aa63cb17777332095a1de0a70382a49e10fecb (diff)
downloadgnunet-662b5736c37e8cf2b3e6aa5af53cef0d03b743ab.tar.gz
gnunet-662b5736c37e8cf2b3e6aa5af53cef0d03b743ab.zip
LRN loves slist: Use stack allocation for slist iterator
Diffstat (limited to 'src/util/test_container_slist.c')
-rw-r--r--src/util/test_container_slist.c42
1 files changed, 19 insertions, 23 deletions
diff --git a/src/util/test_container_slist.c b/src/util/test_container_slist.c
index 307a6b248..394dc4cdb 100644
--- a/src/util/test_container_slist.c
+++ b/src/util/test_container_slist.c
@@ -32,7 +32,7 @@ int
32main (int argc, char *argv[]) 32main (int argc, char *argv[])
33{ 33{
34 struct GNUNET_CONTAINER_SList *l; 34 struct GNUNET_CONTAINER_SList *l;
35 struct GNUNET_CONTAINER_SList_Iterator *it; 35 struct GNUNET_CONTAINER_SList_Iterator it;
36 unsigned int i; 36 unsigned int i;
37 int *ip; 37 int *ip;
38 unsigned int j; 38 unsigned int j;
@@ -52,47 +52,45 @@ main (int argc, char *argv[])
52 GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 100); 52 GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 100);
53 53
54 for (it = GNUNET_CONTAINER_slist_begin (l), i = 99; 54 for (it = GNUNET_CONTAINER_slist_begin (l), i = 99;
55 GNUNET_CONTAINER_slist_end (it) != GNUNET_YES; 55 GNUNET_CONTAINER_slist_end (&it) != GNUNET_YES;
56 GNUNET_CONTAINER_slist_next (it), i--) 56 GNUNET_CONTAINER_slist_next (&it), i--)
57 { 57 {
58 p = GNUNET_CONTAINER_slist_get (it, &s); 58 p = GNUNET_CONTAINER_slist_get (&it, &s);
59 59
60 if ((p == NULL) || (i != (j = *(int *) p)) || (s != sizeof (i))) 60 if ((p == NULL) || (i != (j = *(int *) p)) || (s != sizeof (i)))
61 { 61 {
62 GNUNET_CONTAINER_slist_iter_destroy (it); 62 GNUNET_CONTAINER_slist_iter_destroy (&it);
63 GNUNET_assert (0); 63 GNUNET_assert (0);
64 } 64 }
65 j *= 2; 65 j *= 2;
66 GNUNET_CONTAINER_slist_insert (it, 66 GNUNET_CONTAINER_slist_insert (&it,
67 GNUNET_CONTAINER_SLIST_DISPOSITION_TRANSIENT, 67 GNUNET_CONTAINER_SLIST_DISPOSITION_TRANSIENT,
68 &j, sizeof (j)); 68 &j, sizeof (j));
69 } 69 }
70 GNUNET_CONTAINER_slist_iter_destroy (it);
71 GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 200); 70 GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 200);
72 i = 198; 71 i = 198;
73 GNUNET_assert (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i))); 72 GNUNET_assert (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i)));
74 73
75 for (it = GNUNET_CONTAINER_slist_begin (l); 74 for (it = GNUNET_CONTAINER_slist_begin (l);
76 GNUNET_CONTAINER_slist_end (it) != GNUNET_YES;) 75 GNUNET_CONTAINER_slist_end (&it) != GNUNET_YES;)
77 { 76 {
78 p = GNUNET_CONTAINER_slist_get (it, &s); 77 p = GNUNET_CONTAINER_slist_get (&it, &s);
79 GNUNET_assert (p != NULL); 78 GNUNET_assert (p != NULL);
80 GNUNET_assert (s == sizeof (i)); 79 GNUNET_assert (s == sizeof (i));
81 i = *(int *) p; 80 i = *(int *) p;
82 81
83 GNUNET_assert (GNUNET_CONTAINER_slist_next (it) == GNUNET_YES); 82 GNUNET_assert (GNUNET_CONTAINER_slist_next (&it) == GNUNET_YES);
84 GNUNET_assert (GNUNET_CONTAINER_slist_end (it) != GNUNET_YES); 83 GNUNET_assert (GNUNET_CONTAINER_slist_end (&it) != GNUNET_YES);
85 84
86 p = GNUNET_CONTAINER_slist_get (it, &s); 85 p = GNUNET_CONTAINER_slist_get (&it, &s);
87 GNUNET_assert (p != NULL); 86 GNUNET_assert (p != NULL);
88 GNUNET_assert (s == sizeof (j)); 87 GNUNET_assert (s == sizeof (j));
89 j = *(int *) p; 88 j = *(int *) p;
90 89
91 GNUNET_assert (j * 2 == i); 90 GNUNET_assert (j * 2 == i);
92 91
93 GNUNET_CONTAINER_slist_erase (it); 92 GNUNET_CONTAINER_slist_erase (&it);
94 } 93 }
95 GNUNET_CONTAINER_slist_iter_destroy (it);
96 GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 100); 94 GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 100);
97 i = 99; 95 i = 99;
98 GNUNET_assert (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i)) == 96 GNUNET_assert (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i)) ==
@@ -124,18 +122,16 @@ main (int argc, char *argv[])
124 GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 100); 122 GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 100);
125 123
126 for (it = GNUNET_CONTAINER_slist_begin (l), i = 0; 124 for (it = GNUNET_CONTAINER_slist_begin (l), i = 0;
127 GNUNET_CONTAINER_slist_end (it) != GNUNET_YES; 125 GNUNET_CONTAINER_slist_end (&it) != GNUNET_YES;
128 GNUNET_CONTAINER_slist_next (it), i++) 126 GNUNET_CONTAINER_slist_next (&it), i++)
129 { 127 {
130 p = GNUNET_CONTAINER_slist_get (it, &s); 128 p = GNUNET_CONTAINER_slist_get (&it, &s);
131 129
132 if ((p == NULL) || (i != *(int *) p) || (s != sizeof (i))) 130 if ((p == NULL) || (i != *(int *) p) || (s != sizeof (i)))
133 { 131 {
134 GNUNET_CONTAINER_slist_iter_destroy (it);
135 GNUNET_assert (0); 132 GNUNET_assert (0);
136 } 133 }
137 } 134 }
138 GNUNET_CONTAINER_slist_iter_destroy (it);
139 GNUNET_CONTAINER_slist_destroy (l); 135 GNUNET_CONTAINER_slist_destroy (l);
140 136
141 /*check if disp = GNUNET_CONTAINER_SLIST_DISPOSITION_DYNAMIC */ 137 /*check if disp = GNUNET_CONTAINER_SLIST_DISPOSITION_DYNAMIC */
@@ -151,12 +147,12 @@ main (int argc, char *argv[])
151 } 147 }
152 //creat_add 148 //creat_add
153 it = GNUNET_CONTAINER_slist_begin (l); 149 it = GNUNET_CONTAINER_slist_begin (l);
154 p = GNUNET_CONTAINER_slist_get (it, &s); 150 p = GNUNET_CONTAINER_slist_get (&it, &s);
155 GNUNET_assert (p != NULL); 151 GNUNET_assert (p != NULL);
156 //slist_erase 152 //slist_erase
157 GNUNET_assert (GNUNET_CONTAINER_slist_next (it) == GNUNET_YES); 153 GNUNET_assert (GNUNET_CONTAINER_slist_next (&it) == GNUNET_YES);
158 GNUNET_CONTAINER_slist_erase (it); 154 GNUNET_CONTAINER_slist_erase (&it);
159 GNUNET_CONTAINER_slist_iter_destroy (it); 155 GNUNET_CONTAINER_slist_iter_destroy (&it);
160 GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 99); 156 GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 99);
161 //slist_clear 157 //slist_clear
162 GNUNET_CONTAINER_slist_clear (l); 158 GNUNET_CONTAINER_slist_clear (l);