| 566 | } |
| 567 | |
| 568 | md_pkeys_spec_t *md_pkeys_spec_clone(apr_pool_t *p, const md_pkeys_spec_t *pks) |
| 569 | { |
| 570 | md_pkeys_spec_t *npks = NULL; |
| 571 | md_pkey_spec_t *spec; |
| 572 | int i; |
| 573 | |
| 574 | if (pks && pks->specs->nelts > 0) { |
| 575 | npks = apr_pcalloc(p, sizeof(*npks)); |
| 576 | npks->specs = apr_array_make(p, pks->specs->nelts, sizeof(md_pkey_spec_t*)); |
| 577 | for (i = 0; i < pks->specs->nelts; ++i) { |
| 578 | spec = APR_ARRAY_IDX(pks->specs, i, md_pkey_spec_t*); |
| 579 | APR_ARRAY_PUSH(npks->specs, md_pkey_spec_t*) = pkey_spec_clone(p, spec); |
| 580 | } |
| 581 | } |
| 582 | return npks; |
| 583 | } |
| 584 | |
| 585 | int md_pkeys_spec_count(const md_pkeys_spec_t *pks) |
| 586 | { |
no test coverage detected