| 525 | } |
| 526 | |
| 527 | apr_status_t md_json_setj(const md_json_t *value, md_json_t *json, ...) |
| 528 | { |
| 529 | va_list ap; |
| 530 | apr_status_t rv; |
| 531 | const char *key; |
| 532 | json_t *j; |
| 533 | |
| 534 | if (value) { |
| 535 | va_start(ap, json); |
| 536 | rv = jselect_set(value->j, json, ap); |
| 537 | va_end(ap); |
| 538 | } |
| 539 | else { |
| 540 | va_start(ap, json); |
| 541 | j = jselect_parent(&key, 1, json, ap); |
| 542 | va_end(ap); |
| 543 | |
| 544 | if (key && j && !json_is_object(j)) { |
| 545 | json_object_del(j, key); |
| 546 | rv = APR_SUCCESS; |
| 547 | } |
| 548 | else { |
| 549 | rv = APR_EINVAL; |
| 550 | } |
| 551 | } |
| 552 | return rv; |
| 553 | } |
| 554 | |
| 555 | apr_status_t md_json_addj(const md_json_t *value, md_json_t *json, ...) |
| 556 | { |
no test coverage detected