in flood_profile.c [368:400]
static apr_status_t assign_profile_group_handler(profile_events_t *events,
const char *class_name,
const char *group_name)
{
profile_event_handler_t *p;
profile_group_handler_t *g;
const char **handlers;
/* Find our group. */
for (g = &profile_group_handlers[0]; g && g->class; g++)
{
if (!strncasecmp(class_name, g->class, FLOOD_STRLEN_MAX) &&
!strncasecmp(group_name, g->group_name, FLOOD_STRLEN_MAX))
break;
}
if (!g->class) {
apr_file_printf(local_stderr, "Invalid class '%s' or groupname '%s'.\n",
class_name, group_name);
return APR_EGENERAL;
}
/* For all of the handlers, set them. */
for (handlers = g->handlers; *handlers; handlers++)
{
for (p = profile_event_handlers; p && p->handler_name; p++) {
if (!strncasecmp(p->impl_name, *handlers, FLOOD_STRLEN_MAX))
assign_profile_event_handler(events, p->handler_name,
p->impl_name);
}
}
return APR_SUCCESS;
}