示例#1
0
文件: jv.c 项目: fblondiau/jq
static void jvp_invalid_free(jv x) {
  assert(jv_get_kind(x) == JV_KIND_INVALID);
  if (jvp_refcnt_dec(x.u.ptr)) {
    jv_free(((jvp_invalid*)x.u.ptr)->errmsg);
    jv_mem_free(x.u.ptr);
  }
}
示例#2
0
文件: jv.c 项目: CoolCloud/jq
static void jvp_array_free(jv_nontrivial* a) {
  if (jvp_refcnt_dec(a)) {
    jvp_array* array = jvp_array_ptr(a);
    for (int i=0; i<array->length; i++) {
      jv_free(array->elements[i]);
    }
    jv_mem_free(array);
  }
}
示例#3
0
文件: jv.c 项目: fblondiau/jq
static void jvp_array_free(jv a) {
  assert(jv_get_kind(a) == JV_KIND_ARRAY);
  if (jvp_refcnt_dec(a.u.ptr)) {
    jvp_array* array = jvp_array_ptr(a);
    for (int i=0; i<array->length; i++) {
      jv_free(array->elements[i]);
    }
    jv_mem_free(array);
  }
}
示例#4
0
文件: jv.c 项目: CoolCloud/jq
static void jvp_invalid_free(jv_nontrivial* x) {
  if (jvp_refcnt_dec(x)) {
    jv_free(((jvp_invalid*)x->ptr)->errmsg);
    jv_mem_free(x->ptr);
  }
}