static void release(jd_array *jda, unsigned from, size_t count) { unsigned i; for (i = from; i < from + count; i++) jd_release(ELT(jda, i)); }
void dy_despatch_destroy(void) { jd_release(&despatch); dy_queue_free(queue); }
static jd_var *load_json(jd_var *out, const char *filename) { jd_var json = JD_INIT; jd_from_json(out, load_string(&json, filename)); jd_release(&json); return out; }
static void check_from_json(const char *json) { jd_var vout = JD_INIT; jd_from_jsons(&vout, json); jdt_is_json(&vout, json, "parse %s", json); jd_release(&vout); }
void jd__closure_free(jd_closure *jdc) { jd_release(&jdc->ctx); jd_free(jdc); }
static void filter__free(filter *filt) { jd_release(&filt->config); jd_free(filt); }
static void filter__teardown(void) { jd_release(&filters); }
void dy_queue_free(dy_queue *q) { jd_release(&q->queue); pthread_cond_destroy(&q->cond); pthread_mutex_destroy(&q->mutex); jd_free(q); }
jd_var *tf_load_json(jd_var *out, FILE *f) { jd_var json = JD_INIT; jd_from_json(out, tf_load_string(&json, f)); jd_release(&json); return out; }