| 756 | } |
| 757 | |
| 758 | static apr_array_header_t *get_sorted_modules(apr_pool_t *p) |
| 759 | { |
| 760 | apr_array_header_t *arr = apr_array_make(p, 64, sizeof(module *)); |
| 761 | module *modp, **entry; |
| 762 | for (modp = ap_top_module; modp; modp = modp->next) { |
| 763 | entry = &APR_ARRAY_PUSH(arr, module *); |
| 764 | *entry = modp; |
| 765 | } |
| 766 | qsort(arr->elts, arr->nelts, sizeof(module *), cmp_module_name); |
| 767 | return arr; |
| 768 | } |
| 769 | |
| 770 | static int display_info(request_rec * r) |
| 771 | { |