summaryrefslogtreecommitdiffstats
path: root/lasso/Attic
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-09-22 14:33:06 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-09-22 14:33:06 +0000
commit179a57c71fa32db5e0c0cf807826ec2756830535 (patch)
tree018d7beff0323386d86a342bd13e23b3ca28be47 /lasso/Attic
parent2e321ac1f615cd7d38bb8a948055a13530005eac (diff)
downloadlasso-179a57c71fa32db5e0c0cf807826ec2756830535.tar.gz
lasso-179a57c71fa32db5e0c0cf807826ec2756830535.tar.xz
lasso-179a57c71fa32db5e0c0cf807826ec2756830535.zip
lasso_federation_set_local_nameIdentifier() and lasso_federation_set_remote_nameIdentifier() remove the old value before setting local_nameIdentifier of remote_nameIdentifier
Diffstat (limited to 'lasso/Attic')
-rw-r--r--lasso/Attic/protocols/federation.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/lasso/Attic/protocols/federation.c b/lasso/Attic/protocols/federation.c
index c6e6c431..8ff4e3a1 100644
--- a/lasso/Attic/protocols/federation.c
+++ b/lasso/Attic/protocols/federation.c
@@ -150,6 +150,9 @@ void
lasso_federation_set_local_nameIdentifier(LassoFederation *federation,
LassoNode *nameIdentifier)
{
+ if(federation->local_nameIdentifier != NULL) {
+ lasso_node_destroy(federation->local_nameIdentifier);
+ }
federation->local_nameIdentifier = lasso_node_copy(nameIdentifier);
}
@@ -157,6 +160,9 @@ void
lasso_federation_set_remote_nameIdentifier(LassoFederation *federation,
LassoNode *nameIdentifier)
{
+ if(federation->remote_nameIdentifier != NULL) {
+ lasso_node_destroy(federation->remote_nameIdentifier);
+ }
federation->remote_nameIdentifier = lasso_node_copy(nameIdentifier);
}
@@ -166,6 +172,10 @@ lasso_federation_verify_nameIdentifier(LassoFederation *federation,
{
gchar *federation_content, *nameIdentifier_content;
+ g_return_val_if_fail(LASSO_IS_FEDERATION(federation), FALSE);
+ g_return_val_if_fail(LASSO_IS_NODE(nameIdentifier), FALSE);
+
+ /* verify local name identifier */
nameIdentifier_content = lasso_node_get_content(nameIdentifier, NULL);
if(federation->local_nameIdentifier != NULL) {
federation_content = lasso_node_get_content(federation->local_nameIdentifier,
@@ -176,6 +186,8 @@ lasso_federation_verify_nameIdentifier(LassoFederation *federation,
}
xmlFree(federation_content);
}
+
+ /* verify remote name identifier */
if(federation->remote_nameIdentifier != NULL) {
federation_content = lasso_node_get_content(federation->remote_nameIdentifier,
NULL);