ni_bool_t xml_node_get_attr_ulong(const xml_node_t *node, const char *name, unsigned long *valp) { const char *value; if (!valp || !(value = xml_node_get_attr(node, name))) return FALSE; if (ni_parse_ulong(value, valp, 10) < 0) return FALSE; return TRUE; }
int ni_parse_uint(const char *input, unsigned int *result, int base) { unsigned long value; if (ni_parse_ulong(input, &value, base) < 0) return -1; if (value > UINT_MAX) { errno = ERANGE; return -1; } *result = value; return 0; }