| 299 | } |
| 300 | |
| 301 | struct apr_array_header_t *md_array_str_compact(apr_pool_t *p, struct apr_array_header_t *src, |
| 302 | int case_sensitive) |
| 303 | { |
| 304 | apr_array_header_t *dest = apr_array_make(p, src->nelts, sizeof(const char*)); |
| 305 | if (dest) { |
| 306 | const char *s; |
| 307 | int i; |
| 308 | for (i = 0; i < src->nelts; ++i) { |
| 309 | s = APR_ARRAY_IDX(src, i, const char *); |
| 310 | if (md_array_str_index(dest, s, 0, case_sensitive) < 0) { |
| 311 | APR_ARRAY_PUSH(dest, char *) = md_util_str_tolower(apr_pstrdup(p, s)); |
| 312 | } |
| 313 | } |
| 314 | } |
| 315 | return dest; |
| 316 | } |
| 317 | |
| 318 | apr_array_header_t *md_array_str_remove(apr_pool_t *p, apr_array_header_t *src, |
| 319 | const char *exclude, int case_sensitive) |
no test coverage detected