void xps_close_document(fz_context *ctx, xps_document *doc) { xps_font_cache *font, *next; if (!doc) return; if (doc->zip) fz_drop_archive(ctx, doc->zip); font = doc->font_table; while (font) { next = font->next; fz_drop_font(ctx, font->font); fz_free(ctx, font->name); fz_free(ctx, font); font = next; } xps_drop_page_list(ctx, doc); fz_free(ctx, doc->start_part); fz_free(ctx, doc); }
static void xps_drop_document(fz_context *ctx, fz_document *doc_) { xps_document *doc = (xps_document*)doc_; xps_font_cache *font, *next; if (doc->zip) fz_drop_archive(ctx, doc->zip); font = doc->font_table; while (font) { next = font->next; fz_drop_font(ctx, font->font); fz_free(ctx, font->name); fz_free(ctx, font); font = next; } xps_drop_page_list(ctx, doc); fz_free(ctx, doc->start_part); }