json_t *dump_inflate_header_table(nghttp2_hd_inflater *inflater) { json_t *obj, *entries; size_t i; size_t len = nghttp2_hd_inflate_get_num_table_entries(inflater); obj = json_object(); entries = json_array(); /* The first index of dynamic table is 62 */ for (i = 62; i <= len; ++i) { const nghttp2_nv *nv = nghttp2_hd_inflate_get_table_entry(inflater, i); json_t *outent = json_object(); json_object_set_new(outent, "index", json_integer((json_int_t)i)); dump_val(outent, "name", nv->name, nv->namelen); dump_val(outent, "value", nv->value, nv->valuelen); json_object_set_new(outent, "size", json_integer((json_int_t)(nv->namelen + nv->valuelen + NGHTTP2_HD_ENTRY_OVERHEAD))); json_array_append_new(entries, outent); } json_object_set_new(obj, "entries", entries); json_object_set_new( obj, "size", json_integer( (json_int_t)nghttp2_hd_inflate_get_dynamic_table_size(inflater))); json_object_set_new( obj, "max_size", json_integer( (json_int_t)nghttp2_hd_inflate_get_max_dynamic_table_size(inflater))); return obj; }
void dump_animation(animation_t *a) { if (a == NULL) return; printf("Frame{%d", a->frame); if (a->trans != NULL) { printf(", trans=>"); dump_val(a->trans); } if (a->scale != NULL) { printf(", scale=>"); dump_val(a->scale); } if (a->rot != NULL) { printf(", rot=>"); dump_val(a->rot); } printf("}\n"); }
void dump::dump_alu(alu_node *n) { if (n->is_copy_mov()) sblog << "(copy) "; if (n->pred) { sblog << (n->bc.pred_sel-2) << " [" << *n->pred << "] "; } sblog << n->bc.op_ptr->name; if (n->bc.omod) { static const char *omod_str[] = {"", "*2", "*4", "/2"}; sblog << omod_str[n->bc.omod]; } if (n->bc.clamp) { sblog << "_sat"; } bool has_dst = !n->dst.empty(); sblog << " "; if (has_dst) { dump_vec(n->dst); sblog << ", "; } unsigned s = 0; for (vvec::iterator I = n->src.begin(), E = n->src.end(); I != E; ++I, ++s) { bc_alu_src &src = n->bc.src[s]; if (src.neg) sblog << "-"; if (src.abs) sblog << "|"; dump_val(*I); if (src.abs) sblog << "|"; if (I + 1 != E) sblog << ", "; } dump_rels(n->dst); dump_rels(n->src); }
json_t *dump_header_table(nghttp2_hd_context *context) { json_t *obj, *entries; size_t i; obj = json_object(); entries = json_array(); for (i = 0; i < context->hd_table.len; ++i) { nghttp2_hd_entry *ent = nghttp2_hd_table_get(context, i); json_t *outent = json_object(); json_object_set_new(outent, "index", json_integer(i + 1)); dump_val(outent, "name", ent->nv.name, ent->nv.namelen); dump_val(outent, "value", ent->nv.value, ent->nv.valuelen); json_object_set_new(outent, "size", json_integer(ent->nv.namelen + ent->nv.valuelen + NGHTTP2_HD_ENTRY_OVERHEAD)); json_array_append_new(entries, outent); } json_object_set_new(obj, "entries", entries); json_object_set_new(obj, "size", json_integer(context->hd_table_bufsize)); json_object_set_new(obj, "max_size", json_integer(context->hd_table_bufsize_max)); return obj; }