diff options
| author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2010-02-04 00:02:17 +0000 |
|---|---|---|
| committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2010-02-04 00:02:17 +0000 |
| commit | 560e43046c0b72d944881102917fca414fd3b42e (patch) | |
| tree | b520ef513fa39a087a6a7a9de70df53f17e1bed2 | |
| parent | 3433a07361786ca7b112eed003341151b05ef515 (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.c | 14 |
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; } |
