| 266 | } |
| 267 | |
| 268 | int md_array_str_eq(const struct apr_array_header_t *a1, |
| 269 | const struct apr_array_header_t *a2, int case_sensitive) |
| 270 | { |
| 271 | int i; |
| 272 | const char *s1, *s2; |
| 273 | |
| 274 | if (a1 == a2) return 1; |
| 275 | if (!a1 || !a2) return 0; |
| 276 | if (a1->nelts != a2->nelts) return 0; |
| 277 | for (i = 0; i < a1->nelts; ++i) { |
| 278 | s1 = APR_ARRAY_IDX(a1, i, const char *); |
| 279 | s2 = APR_ARRAY_IDX(a2, i, const char *); |
| 280 | if ((case_sensitive && strcmp(s1, s2)) |
| 281 | || (!case_sensitive && apr_cstr_casecmp(s1, s2))) { |
| 282 | return 0; |
| 283 | } |
| 284 | } |
| 285 | return 1; |
| 286 | } |
| 287 | |
| 288 | apr_array_header_t *md_array_str_clone(apr_pool_t *p, apr_array_header_t *src) |
| 289 | { |
no outgoing calls
no test coverage detected