MCPcopy Create free account
hub / github.com/apache/httpd / md_json_geta

Function md_json_geta

modules/md/md_json.c:730–765  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

728/* array generic */
729
730apr_status_t md_json_geta(apr_array_header_t *a, md_json_from_cb *cb, void *baton,
731 const md_json_t *json, ...)
732{
733 json_t *j;
734 va_list ap;
735 apr_status_t rv = APR_SUCCESS;
736 size_t index;
737 json_t *val;
738 md_json_t wrap;
739 void *element;
740
741 va_start(ap, json);
742 j = jselect(json, ap);
743 va_end(ap);
744
745 if (!j || !json_is_array(j)) {
746 return APR_ENOENT;
747 }
748
749 wrap.p = a->pool;
750 json_array_foreach(j, index, val) {
751 wrap.j = val;
752 if (APR_SUCCESS == (rv = cb(&element, &wrap, wrap.p, baton))) {
753 if (element) {
754 APR_ARRAY_PUSH(a, void*) = element;
755 }
756 }
757 else if (APR_ENOENT == rv) {
758 rv = APR_SUCCESS;
759 }
760 else {
761 break;
762 }
763 }
764 return rv;
765}
766
767apr_status_t md_json_seta(apr_array_header_t *a, md_json_to_cb *cb, void *baton,
768 md_json_t *json, ...)

Callers 1

md_pkeys_spec_from_jsonFunction · 0.85

Calls 1

jselectFunction · 0.85

Tested by

no test coverage detected