void pt_insn_decoder_fini(struct pt_insn_decoder *decoder) { if (!decoder) return; pt_image_fini(&decoder->default_image); pt_qry_decoder_fini(&decoder->query); }
static struct ptunit_result fini_empty(void) { struct pt_image image; pt_image_init(&image, NULL); pt_image_fini(&image); return ptu_passed(); }
struct ptunit_result ifix_fini(struct image_fixture *ifix) { int sec; ptu_check(dfix_fini, ifix); pt_image_fini(&ifix->copy); for (sec = 0; sec < 3; ++sec) { ptu_int_eq(ifix->section[sec].ucount, 0); ptu_int_eq(ifix->section[sec].mcount, 0); } return ptu_passed(); }
static struct ptunit_result fini(void) { struct ifix_mapping mapping; struct ifix_status status; struct pt_section section; struct pt_image image; struct pt_asid asid; int errcode; pt_asid_init(&asid); pt_init_section(§ion, NULL, &status, &mapping); pt_image_init(&image, NULL); errcode = pt_image_add(&image, §ion, &asid, 0x0ull); ptu_int_eq(errcode, 0); pt_image_fini(&image); ptu_int_eq(section.ucount, 0); ptu_int_eq(section.mcount, 0); ptu_int_eq(status.deleted, 1); return ptu_passed(); }
static struct ptunit_result fini_null(void) { pt_image_fini(NULL); return ptu_passed(); }
struct ptunit_result dfix_fini(struct image_fixture *ifix) { pt_image_fini(&ifix->image); return ptu_passed(); }
void pt_image_free(struct pt_image *image) { pt_image_fini(image); free(image); }