diff options
author | Christian Grothoff <christian@grothoff.org> | 2011-10-14 07:22:42 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2011-10-14 07:22:42 +0000 |
commit | 662b5736c37e8cf2b3e6aa5af53cef0d03b743ab (patch) | |
tree | c4299637a2db19a3e87957645d5aa58e196da43f /src/util/test_container_slist.c | |
parent | 94aa63cb17777332095a1de0a70382a49e10fecb (diff) | |
download | gnunet-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.c | 42 |
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 | |||
32 | main (int argc, char *argv[]) | 32 | main (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); |