ialways keep the key and value together - 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 7a6ceff37018ad2f867397aee9f3b3289f16427f /scm/ics2txt/commit/7a6ceff37018ad2f867397aee9f3b3289f16427f.gph bitreich.org 70 1parent 775c76c450eed349600344550bbb6c140bdf1811 /scm/ics2txt/commit/775c76c450eed349600344550bbb6c140bdf1811.gph bitreich.org 70 hAuthor: Josuah Demangeon URL:mailto:me@josuah.net bitreich.org 70 iDate: Sun, 28 Jun 2020 20:41:06 +0200 Err bitreich.org 70 i Err bitreich.org 70 ialways keep the key and value together Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M ics2tree.c | 39 ++++++++++++------------------- Err bitreich.org 70 i M src/map.c | 5 ++--- Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 17 insertions(+), 27 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@@ -7,12 +7,18 @@ Err bitreich.org 70 i #include "util.h" Err bitreich.org 70 i Err bitreich.org 70 i void Err bitreich.org 70 i+print_ruler(int level) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ for (int i = 0; i < level; i++) Err bitreich.org 70 i+ fprintf(stdout, ": "); Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+void Err bitreich.org 70 i print_ical_tree_param(struct map_entry *entry, int level) Err bitreich.org 70 i { Err bitreich.org 70 i if (entry == NULL) Err bitreich.org 70 i return; Err bitreich.org 70 i- for (int i = 0; i < level; i++) Err bitreich.org 70 i- printf(": "); Err bitreich.org 70 i+ print_ruler(level); Err bitreich.org 70 i fprintf(stdout, "param %s=%s\n", entry->key, (char *)entry->value); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -21,8 +27,7 @@ print_ical_tree_value(struct ical_value *value, int level) Err bitreich.org 70 i { Err bitreich.org 70 i if (value == NULL) Err bitreich.org 70 i return; Err bitreich.org 70 i- for (int i = 0; i < level; i++) Err bitreich.org 70 i- printf(": "); Err bitreich.org 70 i+ print_ruler(level); Err bitreich.org 70 i fprintf(stdout, "value %s:%s\n", value->name, value->value); Err bitreich.org 70 i for (size_t i = 0; i < value->param.len; i++) Err bitreich.org 70 i print_ical_tree_param(value->param.entry + i, level + 1); Err bitreich.org 70 i@@ -34,12 +39,13 @@ print_ical_tree_vnode(struct ical_vnode *node, int level) Err bitreich.org 70 i { Err bitreich.org 70 i if (node == NULL) Err bitreich.org 70 i return; Err bitreich.org 70 i- for (int i = 0; i < level; i++) Err bitreich.org 70 i- printf(": "); Err bitreich.org 70 i- fprintf(stdout, "node %p %s child=%p next=%p\n", node, node->name, node->child, node->next); 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 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- print_ical_tree_vnode(node->child, 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 print_ical_tree_vnode(node->next, level); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -53,31 +59,16 @@ 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, ".\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 return 0; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i-void Err bitreich.org 70 i-print_header(void) Err bitreich.org 70 i-{ Err bitreich.org 70 i- char *fields[] = { "", NULL }; Err bitreich.org 70 i- Err bitreich.org 70 i- printf("%s\t%s", "beg", "end"); Err bitreich.org 70 i- Err bitreich.org 70 i- for (char **f = fields; *f != NULL; f++) { Err bitreich.org 70 i- fprintf(stdout, "\t%s", *f); Err bitreich.org 70 i- } Err bitreich.org 70 i- fprintf(stdout, "\n"); Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i int Err bitreich.org 70 i main(int argc, char **argv) Err bitreich.org 70 i { Err bitreich.org 70 i- print_header(); Err bitreich.org 70 i- Err bitreich.org 70 i log_arg0 = *argv++; Err bitreich.org 70 i Err bitreich.org 70 i if (*argv == NULL) { Err bitreich.org 70 1diff --git a/src/map.c b/src/map.c /scm/ics2txt/file/src/map.c.gph bitreich.org 70 i@@ -50,9 +50,8 @@ map_set(struct map *map, char *key, void *value) Err bitreich.org 70 i map->len++; Err bitreich.org 70 i Err bitreich.org 70 i insert = map->entry + i; Err bitreich.org 70 i- e = map->entry + map->len - 1 - 1; Err bitreich.org 70 i- for (; e >= insert; e--) Err bitreich.org 70 i- e[1].key = e[0].key; Err bitreich.org 70 i+ for (e = map->entry + map->len - 2; e >= insert; e--) Err bitreich.org 70 i+ e[1] = e[0]; Err bitreich.org 70 i Err bitreich.org 70 i insert->key = key; Err bitreich.org 70 i insert->value = value; Err bitreich.org 70 .