AXIS2_EXTERN void AXIS2_CALL saml_attr_query_free()

in src/omxmlsec/saml/query.c [89:117]


AXIS2_EXTERN void AXIS2_CALL saml_attr_query_free(saml_attr_query_t *attr_query, const axutil_env_t *env)
{
	int size = 0, i = 0;
	saml_attr_desig_t *attr_desig = NULL;

	if(attr_query->resource)
	{
		AXIS2_FREE(env->allocator, attr_query->resource);
	}
	if(attr_query->subject)
	{
		saml_subject_free(attr_query->subject, env);
	}
	if(attr_query->attr_desigs)
	{
		size = axutil_array_list_size(attr_query->attr_desigs, env);
		for(i = 0; i < size; i++)
		{
			attr_desig = (saml_attr_desig_t*) axutil_array_list_get(attr_query->attr_desigs, env, i);
			if(attr_desig)
				saml_attr_desig_free(attr_desig, env);
		}

		axutil_array_list_free(attr_query->attr_desigs, env);
	}

	AXIS2_FREE(env->allocator, attr_query);
	attr_query = NULL;
}