summaryrefslogtreecommitdiffstats
path: root/lasso/xml
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2004-12-21 19:41:52 +0000
committerFrederic Peters <fpeters@entrouvert.com>2004-12-21 19:41:52 +0000
commit45e5aaeabac20361daaeab539d6b0bd0d3522515 (patch)
treeba31d10f68921104ffe2f5f434e9e771c0816c74 /lasso/xml
parent382731efbbbb05757bde44061282ddb9f8f70d0e (diff)
downloadlasso-45e5aaeabac20361daaeab539d6b0bd0d3522515.tar.gz
lasso-45e5aaeabac20361daaeab539d6b0bd0d3522515.tar.xz
lasso-45e5aaeabac20361daaeab539d6b0bd0d3522515.zip
moves back <ds:Signature> to the place the schema gave them.
Diffstat (limited to 'lasso/xml')
-rw-r--r--lasso/xml/xml.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/lasso/xml/xml.c b/lasso/xml/xml.c
index 1e104940..878370c1 100644
--- a/lasso/xml/xml.c
+++ b/lasso/xml/xml.c
@@ -38,7 +38,7 @@
#include <lasso/xml/saml_name_identifier.h>
-static struct XmlSnippet* lasso_node_build_xmlNode_from_snippets(LassoNode *node, xmlNode *xmlnode,
+static void lasso_node_build_xmlNode_from_snippets(LassoNode *node, xmlNode *xmlnode,
struct XmlSnippet *snippets, gboolean lasso_dump);
static struct XmlSnippet* find_xml_snippet_by_name(LassoNode *node, char *name);
static int set_value_at_path(LassoNode *node, char *path, char *query_value);
@@ -575,7 +575,6 @@ lasso_node_impl_get_xmlNode(LassoNode *node, gboolean lasso_dump)
xmlNode *xmlnode;
xmlNs *ns;
GList *list_ns = NULL, *list_classes = NULL, *t;
- struct XmlSnippet *snippet_signature = NULL, *tmps;
if (class->node_data == NULL)
return NULL;
@@ -600,18 +599,13 @@ lasso_node_impl_get_xmlNode(LassoNode *node, gboolean lasso_dump)
t = g_list_last(list_classes);
while (t) {
class = t->data;
- tmps = lasso_node_build_xmlNode_from_snippets(node, xmlnode,
+ lasso_node_build_xmlNode_from_snippets(node, xmlnode,
class->node_data->snippets, lasso_dump);
- if (tmps)
- snippet_signature = tmps;
t = g_list_previous(t);
}
xmlCleanNs(xmlnode);
- if (snippet_signature)
- lasso_node_add_signature_template(node, xmlnode, snippet_signature);
-
return xmlnode;
}
@@ -1004,11 +998,11 @@ lasso_node_class_set_ns(LassoNodeClass *klass, char *href, char *prefix)
klass->node_data->ns = xmlNewNs(NULL, href, prefix);
}
-static struct XmlSnippet*
+static void
lasso_node_build_xmlNode_from_snippets(LassoNode *node, xmlNode *xmlnode,
struct XmlSnippet *snippets, gboolean lasso_dump)
{
- struct XmlSnippet *snippet, *snippet_signature = NULL;
+ struct XmlSnippet *snippet;
SnippetType type;
xmlNode *t;
xmlNs *xmlns;
@@ -1086,7 +1080,7 @@ lasso_node_build_xmlNode_from_snippets(LassoNode *node, xmlNode *xmlnode,
}
break;
case SNIPPET_SIGNATURE:
- snippet_signature = snippet;
+ lasso_node_add_signature_template(node, xmlnode, snippet);
break;
case SNIPPET_INTEGER:
case SNIPPET_BOOLEAN:
@@ -1096,8 +1090,6 @@ lasso_node_build_xmlNode_from_snippets(LassoNode *node, xmlNode *xmlnode,
if (snippet->type & SNIPPET_INTEGER)
g_free(str);
}
-
- return snippet_signature;
}
static