From e09de99eb52e18eb00c9ee7f94544c07526c2c6d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 26 Dec 2003 01:04:12 +0000 Subject: New function to call a function for each element of a GPtrArray. (#114790) Fri Dec 26 02:03:58 2003 Matthias Clasen * glib/garray.[hc] (g_ptr_array_foreach): New function to call a function for each element of a GPtrArray. (#114790) * tests/array-test.c (main): Add a test for g_ptr_array_foreach(). --- tests/array-test.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tests') diff --git a/tests/array-test.c b/tests/array-test.c index 4f187919b..6d4b5589b 100644 --- a/tests/array-test.c +++ b/tests/array-test.c @@ -57,6 +57,15 @@ typedef struct { } GlibTestInfo; +static void +sum_up (gpointer data, + gpointer user_data) +{ + gint *sum = (gint *)user_data; + + *sum += GPOINTER_TO_INT (data); +} + int main (int argc, char *argv[]) @@ -65,6 +74,7 @@ main (int argc, GArray *garray; GPtrArray *gparray; GByteArray *gbarray; + gint sum = 0; /* array tests */ garray = g_array_new (FALSE, FALSE, sizeof (gint)); @@ -93,6 +103,9 @@ main (int argc, for (i = 0; i < 10000; i++) if (g_ptr_array_index (gparray, i) != GINT_TO_POINTER (i)) g_print ("array fails: %p ( %p )\n", g_ptr_array_index (gparray, i), GINT_TO_POINTER (i)); + + g_ptr_array_foreach (gparray, sum_up, &sum); + g_assert (sum == 49995000); g_ptr_array_free (gparray, TRUE); -- cgit v1.2.3