… | |
… | |
21 | #include "compat.h" |
21 | #include "compat.h" |
22 | #include <stdlib.h> |
22 | #include <stdlib.h> |
23 | #include <string.h> |
23 | #include <string.h> |
24 | #include "data.h" |
24 | #include "data.h" |
25 | #include "list.h" |
25 | #include "list.h" |
|
|
26 | |
|
|
27 | #ifdef DMALLOC |
|
|
28 | #include <dmalloc.h> |
|
|
29 | #endif |
26 | |
30 | |
27 | static psiconv_color clone_color(psiconv_color color); |
31 | static psiconv_color clone_color(psiconv_color color); |
28 | static psiconv_font clone_font(psiconv_font font); |
32 | static psiconv_font clone_font(psiconv_font font); |
29 | static psiconv_border clone_border(psiconv_border border); |
33 | static psiconv_border clone_border(psiconv_border border); |
30 | static psiconv_bullet clone_bullet(psiconv_bullet bullet); |
34 | static psiconv_bullet clone_bullet(psiconv_bullet bullet); |
… | |
… | |
438 | { |
442 | { |
439 | if (styles) { |
443 | if (styles) { |
440 | psiconv_free_word_style(styles->normal); |
444 | psiconv_free_word_style(styles->normal); |
441 | if (styles->styles) |
445 | if (styles->styles) |
442 | psiconv_list_free_el(styles->styles,psiconv_free_style_aux); |
446 | psiconv_list_free_el(styles->styles,psiconv_free_style_aux); |
|
|
447 | free(styles); |
443 | } |
448 | } |
444 | } |
449 | } |
445 | |
450 | |
446 | void psiconv_free_header_section(psiconv_header_section header) |
451 | void psiconv_free_header_section(psiconv_header_section header) |
447 | { |
452 | { |
… | |
… | |
468 | free(section->name); |
473 | free(section->name); |
469 | free(section); |
474 | free(section); |
470 | } |
475 | } |
471 | } |
476 | } |
472 | |
477 | |
|
|
478 | void psiconv_free_object_icon_section(psiconv_object_icon_section section) |
|
|
479 | { |
|
|
480 | if (section) { |
|
|
481 | if (section->icon_name) |
|
|
482 | free(section->icon_name); |
|
|
483 | free(section); |
|
|
484 | } |
|
|
485 | } |
|
|
486 | |
|
|
487 | void psiconv_free_object_display_section(psiconv_object_display_section section) |
|
|
488 | { |
|
|
489 | if (section) |
|
|
490 | free(section); |
|
|
491 | } |
|
|
492 | |
|
|
493 | void psiconv_free_object(psiconv_object object) |
|
|
494 | { |
|
|
495 | if (object) { |
|
|
496 | psiconv_free_object_icon_section(object->icon); |
|
|
497 | psiconv_free_object_display_section(object->display); |
|
|
498 | psiconv_free_file(object->object); |
|
|
499 | free(object); |
|
|
500 | } |
|
|
501 | } |
|
|
502 | |
473 | void psiconv_free_in_line_layout_aux(void * layout) |
503 | void psiconv_free_in_line_layout_aux(void * layout) |
474 | { |
504 | { |
475 | psiconv_free_character_layout(((psiconv_in_line_layout) layout)->layout); |
505 | psiconv_free_character_layout(((psiconv_in_line_layout) layout)->layout); |
|
|
506 | psiconv_free_object(((psiconv_in_line_layout) layout)->object); |
476 | } |
507 | } |
477 | |
508 | |
478 | void psiconv_free_in_line_layout(psiconv_in_line_layout layout) |
509 | void psiconv_free_in_line_layout(psiconv_in_line_layout layout) |
479 | { |
510 | { |
480 | if (layout) { |
511 | if (layout) { |