From: <svn...@op...> - 2009-04-12 11:22:38
|
Author: bricks Date: Sun Apr 12 13:22:27 2009 New Revision: 5582 URL: http://www.opensync.org/changeset/5582 Log: return a copy of advancedoption parameters refs #975 Modified: trunk/opensync/plugin/opensync_plugin_advancedoptions.c trunk/opensync/plugin/opensync_plugin_config.c trunk/tests/ipc-tests/check_serializer.c trunk/tests/plugin-tests/check_plugin_config.c Modified: trunk/opensync/plugin/opensync_plugin_advancedoptions.c ============================================================================== --- trunk/opensync/plugin/opensync_plugin_advancedoptions.c Sun Apr 12 13:11:09 2009 (r5581) +++ trunk/opensync/plugin/opensync_plugin_advancedoptions.c Sun Apr 12 13:22:27 2009 (r5582) @@ -159,7 +159,7 @@ OSyncList *osync_plugin_advancedoption_get_parameters(OSyncPluginAdvancedOption *option) { osync_assert(option); - return option->parameters; + return osync_list_copy(option->parameters); } void osync_plugin_advancedoption_add_parameter(OSyncPluginAdvancedOption *option, OSyncPluginAdvancedOptionParameter *param) Modified: trunk/opensync/plugin/opensync_plugin_config.c ============================================================================== --- trunk/opensync/plugin/opensync_plugin_config.c Sun Apr 12 13:11:09 2009 (r5581) +++ trunk/opensync/plugin/opensync_plugin_config.c Sun Apr 12 13:22:27 2009 (r5582) @@ -1186,12 +1186,16 @@ xmlNewChild(node, NULL, BAD_CAST "Name", BAD_CAST osync_plugin_advancedoption_get_name(option)); /* Parameters */ - for (p = osync_plugin_advancedoption_get_parameters(option); p; p = p->next) { + OSyncList *parameters = osync_plugin_advancedoption_get_parameters(option); + for (p = parameters; p; p = p->next) { OSyncPluginAdvancedOptionParameter *param = p->data; - if (!_osync_plugin_config_assemble_advancedoption_param(node, param, error)) + if (!_osync_plugin_config_assemble_advancedoption_param(node, param, error)) { + osync_list_free(parameters); goto error; + } } - + osync_list_free(parameters); + /* Type */ if (!osync_plugin_advancedoption_get_type(option)) { osync_error_set(error, OSYNC_ERROR_MISCONFIGURATION, "Type for advanced option not set."); Modified: trunk/tests/ipc-tests/check_serializer.c ============================================================================== --- trunk/tests/ipc-tests/check_serializer.c Sun Apr 12 13:11:09 2009 (r5581) +++ trunk/tests/ipc-tests/check_serializer.c Sun Apr 12 13:22:27 2009 (r5582) @@ -243,9 +243,14 @@ OSyncList *param_list1 = osync_plugin_advancedoption_get_parameters(opt1); OSyncList *param_list2 = osync_plugin_advancedoption_get_parameters(opt2); - if (!_compare_list(param_list1, param_list2, _compare_pluginconfig_advacedoption_parameters)) + if (!_compare_list(param_list1, param_list2, _compare_pluginconfig_advacedoption_parameters)) { + osync_list_free(param_list1); + osync_list_free(param_list2); return FALSE; - + } + osync_list_free(param_list1); + osync_list_free(param_list2); + const char *displayname1 = osync_plugin_advancedoption_get_displayname(opt1); const char *displayname2 = osync_plugin_advancedoption_get_displayname(opt2); Modified: trunk/tests/plugin-tests/check_plugin_config.c ============================================================================== --- trunk/tests/plugin-tests/check_plugin_config.c Sun Apr 12 13:11:09 2009 (r5581) +++ trunk/tests/plugin-tests/check_plugin_config.c Sun Apr 12 13:22:27 2009 (r5582) @@ -937,7 +937,7 @@ fail_unless(!strcmp(osync_plugin_advancedoption_param_get_value(p->data), "BAR1")); } - + osync_list_free(reloaded_advancedoption_parameters); } |