From 9fe7146263a313f277f3e38c35aada778bf22c53 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Tue, 1 Jul 2008 18:17:21 +0200 Subject: [PATCH] Fix a bug in filter_serialize () and update tests. --- src/mm-string-utils.c | 10 ++++++---- test/clients/Makefile.am | 18 +++++++++++++----- test/clients/test-applications.c | 2 +- test/clients/test-serialize.c | 7 ++++--- 4 files changed, 24 insertions(+), 13 deletions(-) diff --git a/src/mm-string-utils.c b/src/mm-string-utils.c index 948cd08..296df71 100644 --- a/src/mm-string-utils.c +++ b/src/mm-string-utils.c @@ -240,13 +240,15 @@ serialize_attribute (xmlTextWriterPtr writer, } static void -serialize_filter_param (xmlTextWriterPtr writer, - MMFilterParam *fp, GError **error) +serialize_filter_param (MMFilterParam *fp, + SerializeData *data) { MMAttribute *attribute; GValue *val; MMComparisionOperator op; int res; + xmlTextWriterPtr writer = data->writer; + GError **error = data->error; attribute = mm_filter_param_get_attribute (fp); val = mm_filter_param_get_value (fp); @@ -647,11 +649,11 @@ mm_filter_serialize (MMFilter *filter, GError **error) } filter_params = mm_filter_get_filtering_params (filter); - fp_data = g_slice_new0 (SerializeData); + fp_data = g_new0 (SerializeData, 1); fp_data->writer = writer; fp_data->error = error; g_list_foreach (filter_params, (GFunc) serialize_filter_param, fp_data); - g_slice_free (SerializeData, fp_data); + g_free (fp_data); if (*error) { goto out; } diff --git a/test/clients/Makefile.am b/test/clients/Makefile.am index 0a3f6fd..3cf49a8 100644 --- a/test/clients/Makefile.am +++ b/test/clients/Makefile.am @@ -9,19 +9,20 @@ INCLUDES = \ -I$(top_srcdir)/src \ $(MMEDIAMANAGER_CFLAGS) -LDADD = \ - $(top_builddir)/src/libmmanager.la \ - $(MMEDIAMANAGER_LIBS) - bin_PROGRAMS = \ mm-test-applications \ mm-test-dbus-client \ mm-test-dbus-register \ - mm-test-dbus-spawn + mm-test-dbus-spawn \ + mm-test-serialize mm_test_applications_SOURCES = \ test-applications.c +mm_test_applications_LDADD = \ + $(MMEDIAMANAGER_LIBS) \ + $(top_builddir)/src/libmmanager.la + mm_test_dbus_client_SOURCES = \ test-dbus-client.c @@ -31,3 +32,10 @@ mm_test_dbus_register_SOURCES = \ mm_test_dbus_spawn_SOURCES = \ test-dbus-spawn.c +mm_test_serialize_SOURCES = \ + test-serialize.c + +mm_test_serialize_LDADD = \ + $(MMEDIAMANAGER_LIBS) \ + $(top_builddir)/src/libmmanager.la + diff --git a/test/clients/test-applications.c b/test/clients/test-applications.c index b3ecb85..7b10bd3 100644 --- a/test/clients/test-applications.c +++ b/test/clients/test-applications.c @@ -1,7 +1,7 @@ /* test program for libmmanager */ #include "config.h" -#include +#include "mm.h" #include #include #include diff --git a/test/clients/test-serialize.c b/test/clients/test-serialize.c index 88d26ee..70fcf26 100644 --- a/test/clients/test-serialize.c +++ b/test/clients/test-serialize.c @@ -1,4 +1,4 @@ -#include +#include "mm.h" int main (int argc, char ** argv) { @@ -8,6 +8,7 @@ int main (int argc, char ** argv) GValue *val; MMAttributeManager *am; char * serialized; + GError *error = NULL; g_type_init (); @@ -30,10 +31,10 @@ int main (int argc, char ** argv) g_object_unref (fp); g_free (val); - serialized = mm_filter_serialize (filter); + serialized = mm_filter_serialize (filter, &error); g_print ("serialized filter \n%s\n", serialized); - unserialized = mm_filter_unserialize (serialized); + unserialized = mm_filter_unserialize (serialized, &error); g_free (serialized); g_object_unref (filter); -- 2.11.4.GIT