From 336d725c0a02fd030076d196a49e16f9be834bce Mon Sep 17 00:00:00 2001 From: Andrea Zagli <azagli@libero.it> Date: Mon, 12 Jun 2017 16:27:38 +0200 Subject: [PATCH] Use of ZakFormForm::get_module_new in FormValidator construct from xml. --- src/form.c | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/src/form.c b/src/form.c index 637f007..7ea80b0 100644 --- a/src/form.c +++ b/src/form.c @@ -268,7 +268,7 @@ zak_form_form_element_xml_parsing (ZakFormForm *zakform, ZakFormElement *element } /** - * _zak_form_get_module_new: + * _zak_form_form_get_module_new: * @zakform: * @namespace: * @@ -445,25 +445,15 @@ zak_form_form_load_from_xml (ZakFormForm *zakform, xmlDoc *xmldoc) { type = (gchar *)xmlGetProp (xnodeset->nodeTab[y], (const xmlChar *)"type"); - /* for each module */ - for (i = 0; i < priv->ar_modules->len; i++) + validator_constructor = _zak_form_form_get_module_new (zakform, type); + if (validator_constructor != NULL) { - if (g_module_symbol ((GModule *)g_ptr_array_index (priv->ar_modules, i), - g_strconcat (type, "_new", NULL), - (gpointer *)&validator_constructor)) - { - if (validator_constructor != NULL) - { - validator = validator_constructor (); - zak_form_form_add_validator (zakform, validator); - - zak_form_validator_xml_parsing (validator, xnodeset->nodeTab[y], zakform); + validator = validator_constructor (); + zak_form_form_add_validator (zakform, validator); - break; - } - } + zak_form_validator_xml_parsing (validator, xnodeset->nodeTab[y], zakform); } - if (i >= priv->ar_modules->len) + else { g_warning ("Validator «%s» not found.", type); } -- 2.49.0