[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r28539 - in gnunet/src: include util
From: |
gnunet |
Subject: |
[GNUnet-SVN] r28539 - in gnunet/src: include util |
Date: |
Mon, 12 Aug 2013 16:50:20 +0200 |
Author: dold
Date: 2013-08-12 16:50:20 +0200 (Mon, 12 Aug 2013)
New Revision: 28539
Modified:
gnunet/src/include/gnunet_container_lib.h
gnunet/src/util/container_multihashmap.c
gnunet/src/util/test_container_multihashmap.c
Log:
- test for external iterator
- const added to result parameter of 'next'
Modified: gnunet/src/include/gnunet_container_lib.h
===================================================================
--- gnunet/src/include/gnunet_container_lib.h 2013-08-12 14:49:58 UTC (rev
28538)
+++ gnunet/src/include/gnunet_container_lib.h 2013-08-12 14:50:20 UTC (rev
28539)
@@ -728,7 +728,7 @@
*/
int
GNUNET_CONTAINER_multihashmap_iterator_next (struct
GNUNET_CONTAINER_MultiHashMapIterator *iter,
- struct GNUNET_HashCode *key, void
**value);
+ struct GNUNET_HashCode *key,
const void **value);
/**
Modified: gnunet/src/util/container_multihashmap.c
===================================================================
--- gnunet/src/util/container_multihashmap.c 2013-08-12 14:49:58 UTC (rev
28538)
+++ gnunet/src/util/container_multihashmap.c 2013-08-12 14:50:20 UTC (rev
28539)
@@ -838,7 +838,7 @@
*/
int
GNUNET_CONTAINER_multihashmap_iterator_next (struct
GNUNET_CONTAINER_MultiHashMapIterator *iter,
- struct GNUNET_HashCode *key, void
**value)
+ struct GNUNET_HashCode *key,
const void **value)
{
/* make sure nobody modified the map */
GNUNET_assert (iter->modification_counter ==
iter->map->modification_counter);
Modified: gnunet/src/util/test_container_multihashmap.c
===================================================================
--- gnunet/src/util/test_container_multihashmap.c 2013-08-12 14:49:58 UTC
(rev 28538)
+++ gnunet/src/util/test_container_multihashmap.c 2013-08-12 14:50:20 UTC
(rev 28539)
@@ -37,6 +37,8 @@
struct GNUNET_CONTAINER_MultiHashMap *m;
struct GNUNET_HashCode k1;
struct GNUNET_HashCode k2;
+ struct GNUNET_CONTAINER_MultiHashMapIterator *iter;
+ struct GNUNET_HashCode key_ret;
const char *ret;
int j;
@@ -79,11 +81,23 @@
CHECK (2 == GNUNET_CONTAINER_multihashmap_get_multiple (m, &k1, NULL, NULL));
CHECK (0 == GNUNET_CONTAINER_multihashmap_get_multiple (m, &k2, NULL, NULL));
CHECK (2 == GNUNET_CONTAINER_multihashmap_iterate (m, NULL, NULL));
+ iter = GNUNET_CONTAINER_multihashmap_iterator_create (m);
+ CHECK (GNUNET_YES == GNUNET_CONTAINER_multihashmap_iterator_next (iter,
&key_ret, (const void **)&ret));
+ CHECK (0 == memcmp (&key_ret, &k1, sizeof (key_ret)));
+ CHECK (GNUNET_YES == GNUNET_CONTAINER_multihashmap_iterator_next (iter,
&key_ret, (const void **)&ret));
+ CHECK (0 == memcmp (&key_ret, &k1, sizeof (key_ret)));
+ CHECK (GNUNET_NO == GNUNET_CONTAINER_multihashmap_iterator_next (iter, NULL,
NULL));
+
CHECK (2 == GNUNET_CONTAINER_multihashmap_remove_all (m, &k1));
for (j = 0; j < 1024; j++)
CHECK (GNUNET_OK ==
GNUNET_CONTAINER_multihashmap_put (m, &k1, "v2",
GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE));
+ iter = GNUNET_CONTAINER_multihashmap_iterator_create (m);
+ for (j = 0; j < GNUNET_CONTAINER_multihashmap_size (m); j++)
+ CHECK (GNUNET_YES == GNUNET_CONTAINER_multihashmap_iterator_next (iter,
NULL, NULL));
+ CHECK (GNUNET_NO == GNUNET_CONTAINER_multihashmap_iterator_next (iter, NULL,
NULL));
+
GNUNET_CONTAINER_multihashmap_destroy (m);
return 0;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r28539 - in gnunet/src: include util,
gnunet <=