in src/omxmlsec/saml/query.c [1014:1055]
AXIS2_EXTERN int AXIS2_CALL saml_query_set_query(saml_query_t *query, const axutil_env_t *env, void *spec_query,
axis2_char_t *type)
{
if(query->query)
{
if(!axutil_strcmp(query->type,SAML_SUBJECT_QUERY))
{
if(query->query)
{
saml_subject_query_free(query->query, env);
}
}
if(!axutil_strcmp(query->type, SAML_AUTHENTICATION_QUERY))
{
if(query->query)
{
saml_authentication_query_free(query->query, env);
}
}
if(!axutil_strcmp(query->type, SAML_ATTRIBUTE_QUERY))
{
if(query->query)
{
saml_attr_query_free(query->query, env);
}
}
if(!axutil_strcmp(query->type, SAML_AUTHORIZATION_DECISION_QUERY))
{
if(query->query)
{
saml_autho_decision_query_free(query->query, env);
}
}
AXIS2_FREE(env->allocator, query->type);
}
query->query = spec_query;
query->type = axutil_strdup(env, type);
return AXIS2_SUCCESS;
}