--- psiconv/trunk/lib/psiconv/data.c 1999/10/29 21:14:58 24 +++ psiconv/trunk/lib/psiconv/data.c 1999/12/03 00:59:12 41 @@ -34,6 +34,7 @@ static void psiconv_free_in_line_layout_aux(void * layout); static void psiconv_free_paragraph_aux(void * paragraph); static void psiconv_free_paint_data_section_aux(void * section); +static void psiconv_free_clipart_section_aux(psiconv_clipart_section section); psiconv_character_layout psiconv_basic_character_layout(void) { @@ -513,6 +514,34 @@ } } +void psiconv_free_clipart_section_aux(psiconv_clipart_section section) +{ + if (section) + free(section->picture); +} + +void psiconv_free_clipart_section(psiconv_clipart_section section) +{ + if (section) { + psiconv_free_clipart_section_aux(section); + free(section); + } +} + +void psiconv_free_cliparts(psiconv_cliparts section) +{ + if (section) + psiconv_list_free_el(section,&psiconv_free_clipart_section_aux); +} + +void psiconv_free_clipart_f(psiconv_clipart_f file) +{ + if (file) { + psiconv_free_cliparts(file->sections); + free(file); + } +} + void psiconv_free_file(psiconv_file file) { if (file) { @@ -524,6 +553,8 @@ psiconv_free_mbm_f((psiconv_mbm_f) file->file); else if (file->type == psiconv_sketch_file) psiconv_free_sketch_f((psiconv_sketch_f) file->file); + else if (file->type == psiconv_clipart_file) + psiconv_free_sketch_f((psiconv_clipart_f) file->file); free(file); } }