in flood_round_robin.c [708:744]
static int count_xml_seq_child(apr_xml_elem *urllist_elem)
{
struct apr_xml_elem *e;
int items = 0;
for (e = urllist_elem->first_child; e; e = e->next) {
if (strncasecmp(e->name, XML_URLLIST_SEQUENCE, FLOOD_STRLEN_MAX) == 0) {
int children_urls, list_count;
list_count = 0;
if (e->attr) {
apr_xml_attr *attr = e->attr;
while (attr) {
if (strncasecmp(attr->name,
XML_URLLIST_SEQUENCE_LIST,
FLOOD_STRLEN_MAX) == 0) {
char *end = (char*)attr->value;
list_count++;
while (*end && (end = strchr(end, ','))) {
list_count++;
end++;
}
}
attr = attr->next;
}
}
if (!list_count) {
apr_file_printf(local_stderr,
"Sequence doesn't have any items!\n");
return 0;
}
children_urls = count_xml_seq_child(e);
children_urls += count_xml_elem_child(e, XML_URLLIST_URL);
items += list_count * children_urls;
}
}
return items;
}