static void s_configurationAttrValueFloat( s_configuration configuration, u_cfElement element, const char *tag, const char *attr, void (* const setAction)(s_configuration config, c_float floatValue)) { c_iter iter; u_cfElement e; u_cfAttribute a; c_float floatValue; c_bool found; iter = u_cfElementXPath(element, tag); e = u_cfElement(c_iterTakeFirst(iter)); while (e != NULL) { a = u_cfElementAttribute(e, attr); if (a) { found = u_cfAttributeFloatValue(a, &floatValue); /* QAC EXPECT 2100; */ if (found == TRUE) { setAction(configuration, floatValue); } u_cfAttributeFree(a); } u_cfElementFree(e); e = u_cfElement(c_iterTakeFirst(iter)); } c_iterFree(iter); }
void u_cfNodeFree ( u_cfNode node) { switch(u_cfNodeKind(node)) { case V_CFELEMENT: u_cfElementFree(u_cfElement(node)); break; case V_CFATTRIBUTE: u_cfAttributeFree(u_cfAttribute(node)); break; case V_CFDATA: u_cfDataFree(u_cfData(node)); break; default: break; } }