ifix remaining memory leaks, 4 still reachable due to libc - ics2txt - convert icalendar .ics file to plain text Err bitreich.org 70
hgit clone git://bitreich.org/ics2txt git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ics2txt URL:git://bitreich.org/ics2txt git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ics2txt bitreich.org 70
1Log /scm/ics2txt/log.gph bitreich.org 70
1Files /scm/ics2txt/files.gph bitreich.org 70
1Refs /scm/ics2txt/refs.gph bitreich.org 70
1Tags /scm/ics2txt/tag bitreich.org 70
1README /scm/ics2txt/file/README.md.gph bitreich.org 70
i--- Err bitreich.org 70
1commit 9c990aa7ff527f1b12ce915e7d8d4148d6fb0438 /scm/ics2txt/commit/9c990aa7ff527f1b12ce915e7d8d4148d6fb0438.gph bitreich.org 70
1parent 5364436bda9ac04c42dbd6eeaab75914128046b6 /scm/ics2txt/commit/5364436bda9ac04c42dbd6eeaab75914128046b6.gph bitreich.org 70
hAuthor: Josuah Demangeon <me@josuah.net> URL:mailto:me@josuah.net bitreich.org 70
iDate: Mon, 29 Jun 2020 00:06:33 +0200 Err bitreich.org 70
i Err bitreich.org 70
ifix remaining memory leaks, 4 still reachable due to libc Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M ics2tree.c | 12 +++++------- Err bitreich.org 70
i M src/ical.c | 12 ++++-------- Err bitreich.org 70
i M src/ical.h | 3 +-- Err bitreich.org 70
i Err bitreich.org 70
i3 files changed, 10 insertions(+), 17 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/ics2tree.c b/ics2tree.c /scm/ics2txt/file/ics2tree.c.gph bitreich.org 70
i@@ -40,12 +40,11 @@ print_ical_tree_vnode(struct ical_vnode *node, int level) Err bitreich.org 70
i if (node == NULL) Err bitreich.org 70
i return; Err bitreich.org 70
i print_ruler(level); Err bitreich.org 70
i- fprintf(stdout, "node %p %s child=%lu next=%p\n", Err bitreich.org 70
i- (void *)node, node->name, node->child.len, (void *)node->next); Err bitreich.org 70
i+ fprintf(stdout, "node %s\n", node->name); Err bitreich.org 70
i for (size_t i = 0; i < node->values.len; i++) Err bitreich.org 70
i print_ical_tree_value(node->values.entry[i].value, level + 1); Err bitreich.org 70
i- for (size_t i = 0; i < node->child.len; i++) Err bitreich.org 70
i- print_ical_tree_vnode(node->child.entry[i].value, level + 1); Err bitreich.org 70
i+ for (size_t i = 0; i < node->childs.len; i++) Err bitreich.org 70
i+ print_ical_tree_vnode(node->childs.entry[i].value, level + 1); Err bitreich.org 70
i print_ical_tree_vnode(node->next, level); Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i@@ -59,7 +58,7 @@ print_ical_tree(FILE *fp) Err bitreich.org 70
i die("reading ical file: %s", ical_strerror(e)); Err bitreich.org 70
i Err bitreich.org 70
i print_ical_tree_vnode(vcal.root, 0); Err bitreich.org 70
i- fprintf(stdout, ": end\n"); Err bitreich.org 70
i+ fprintf(stdout, "end\n"); Err bitreich.org 70
i fflush(stdout); Err bitreich.org 70
i Err bitreich.org 70
i ical_free_vcalendar(&vcal); Err bitreich.org 70
i@@ -79,13 +78,12 @@ main(int argc, char **argv) Err bitreich.org 70
i for (; *argv != NULL; argv++, argc--) { Err bitreich.org 70
i FILE *fp; Err bitreich.org 70
i Err bitreich.org 70
i- info("converting \"%s\"", *argv); Err bitreich.org 70
i+ debug("converting \"%s\"", *argv); Err bitreich.org 70
i if ((fp = fopen(*argv, "r")) == NULL) Err bitreich.org 70
i die("opening %s", *argv); Err bitreich.org 70
i if (print_ical_tree(fp) < 0) Err bitreich.org 70
i die("converting %s", *argv); Err bitreich.org 70
i fclose(fp); Err bitreich.org 70
i } Err bitreich.org 70
i- Err bitreich.org 70
i return 0; Err bitreich.org 70
i } Err bitreich.org 70
1diff --git a/src/ical.c b/src/ical.c /scm/ics2txt/file/src/ical.c.gph bitreich.org 70
i@@ -86,8 +86,7 @@ ical_new_value(char const *line) Err bitreich.org 70
i void Err bitreich.org 70
i ical_free_value(struct ical_value *value) Err bitreich.org 70
i { Err bitreich.org 70
i- debug("free value %p (%s:%s)", value, value->name, value->value); Err bitreich.org 70
i- map_free(&value->param, free); Err bitreich.org 70
i+ map_free(&value->param, NULL); Err bitreich.org 70
i free(value); Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i@@ -154,9 +153,8 @@ ical_free_vnode(struct ical_vnode *node) Err bitreich.org 70
i { Err bitreich.org 70
i if (node == NULL) Err bitreich.org 70
i return; Err bitreich.org 70
i- debug("free vnode %p %s", node, node->name); Err bitreich.org 70
i map_free(&node->values, ical_free_value_void); Err bitreich.org 70
i- map_free(&node->child, ical_free_vnode_void); Err bitreich.org 70
i+ map_free(&node->childs, ical_free_vnode_void); Err bitreich.org 70
i ical_free_vnode(node->next); Err bitreich.org 70
i free(node); Err bitreich.org 70
i } Err bitreich.org 70
i@@ -205,8 +203,8 @@ ical_begin_vnode(struct ical_vcalendar *vcal, char const *name) Err bitreich.org 70
i if (vcal->root == NULL) { Err bitreich.org 70
i vcal->root = new; Err bitreich.org 70
i } else { Err bitreich.org 70
i- new->next = map_get(&vcal->current->child, new->name); Err bitreich.org 70
i- if (map_set(&vcal->current->child, new->name, new) < 0) { Err bitreich.org 70
i+ new->next = map_get(&vcal->current->childs, new->name); Err bitreich.org 70
i+ if (map_set(&vcal->current->childs, new->name, new) < 0) { Err bitreich.org 70
i e = -ICAL_ERR_SYSTEM; Err bitreich.org 70
i goto err; Err bitreich.org 70
i } Err bitreich.org 70
i@@ -247,7 +245,6 @@ ical_push_value(struct ical_vcalendar *vcal, struct ical_value *new) Err bitreich.org 70
i if (vcal->current == NULL) Err bitreich.org 70
i return -ICAL_ERR_MISSING_BEGIN; Err bitreich.org 70
i Err bitreich.org 70
i- debug("new %p %s:%s", new, new->name, new->value); Err bitreich.org 70
i new->next = map_get(&vcal->current->values, new->name); Err bitreich.org 70
i if (map_set(&vcal->current->values, new->name, new) < 0) Err bitreich.org 70
i return -ICAL_ERR_SYSTEM; Err bitreich.org 70
i@@ -287,6 +284,5 @@ err: Err bitreich.org 70
i void Err bitreich.org 70
i ical_free_vcalendar(struct ical_vcalendar *vcal) Err bitreich.org 70
i { Err bitreich.org 70
i- debug("free vcalendar"); Err bitreich.org 70
i ical_free_vnode(vcal->root); Err bitreich.org 70
i } Err bitreich.org 70
1diff --git a/src/ical.h b/src/ical.h /scm/ics2txt/file/src/ical.h.gph bitreich.org 70
i@@ -35,9 +35,8 @@ struct ical_vcalendar { Err bitreich.org 70
i Err bitreich.org 70
i struct ical_vnode { Err bitreich.org 70
i char name[32]; Err bitreich.org 70
i- time_t beg, end; Err bitreich.org 70
i struct map values; /*(struct ical_value *)*/ Err bitreich.org 70
i- struct map child; /*(struct ical_vnode *)*/ Err bitreich.org 70
i+ struct map childs; /*(struct ical_vnode *)*/ Err bitreich.org 70
i struct ical_vnode *next; Err bitreich.org 70
i }; Err bitreich.org 70
i Err bitreich.org 70
.
Response:
text/plain