summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-02-04 00:02:17 +0000
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-02-04 00:02:17 +0000
commit560e43046c0b72d944881102917fca414fd3b42e (patch)
treeb520ef513fa39a087a6a7a9de70df53f17e1bed2
parent3433a07361786ca7b112eed003341151b05ef515 (diff)
SAML 2.0: in name_id_management.c, rework lasso_name_id_management_new_from_dump
-rw-r--r--lasso/saml-2.0/name_id_management.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/lasso/saml-2.0/name_id_management.c b/lasso/saml-2.0/name_id_management.c
index e6f7f4da..2fdb6754 100644
--- a/lasso/saml-2.0/name_id_management.c
+++ b/lasso/saml-2.0/name_id_management.c
@@ -513,16 +513,14 @@ LassoNameIdManagement*
lasso_name_id_management_new_from_dump(LassoServer *server, const char *dump)
{
LassoNameIdManagement *name_id_management;
- xmlDoc *doc;
- if (dump == NULL)
- return NULL;
-
- name_id_management = lasso_name_id_management_new(server);
- doc = lasso_xml_parse_memory(dump, strlen(dump));
- lasso_node_init_from_xml(LASSO_NODE(name_id_management), xmlDocGetRootElement(doc));
- lasso_release_doc(doc);
+ name_id_management = (LassoNameIdManagement*)lasso_node_new_from_dump(dump);
+ if (LASSO_IS_NAME_ID_MANAGEMENT(name_id_management)) {
+ lasso_assign_gobject(name_id_management->parent.server, server);
+ } else {
+ lasso_release_gobject(name_id_management);
+ }
return name_id_management;
}