aboutsummaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2019-02-09 00:36:53 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2019-02-09 00:36:53 +0100
commit6cc2d6856fb92ce55c2468cb9dd3b33c7cab449e (patch)
tree8d330d9fef3adcb12bf14da75c89bb7c690a190f /main.c
parentExtend parsing to handle tree's of vcomponents. (diff)
downloadcalp-6cc2d6856fb92ce55c2468cb9dd3b33c7cab449e.tar.gz
calp-6cc2d6856fb92ce55c2468cb9dd3b33c7cab449e.tar.xz
Fix main loop.
Diffstat (limited to 'main.c')
-rw-r--r--main.c37
1 files changed, 20 insertions, 17 deletions
diff --git a/main.c b/main.c
index 6b52d96e..47d69e4d 100644
--- a/main.c
+++ b/main.c
@@ -35,40 +35,43 @@ int main (int argc, char* argv[argc]) {
arg_shift(&args);
- vcomponent* cal = FCHILD(&root);
-
- assert(strcmp(root.type, "ROOT") == 0);
- assert(strcmp(cal->type, "VCALENDAR") == 0);
-
if (args.argc == 0 || strcmp(args.argv[0], "-p") == 0) {
printf("\nParsed calendar file containing [%u] events\n",
root.components.length
);
- for (size_t i = 0; i < cal->components.length; i++) {
- char* filename = cal->components.items[i]->filename;
- vcomponent* ev = GET(VECT(vcomponent))(&cal->components, i);
+ for (size_t i = 0; i < root.components.length; i++) {
+ vcomponent* cal = GET(VECT(vcomponent))(&root.components, i);
+ assert(strcmp(cal->type, "VCALENDAR") == 0);
+
+ char* filename = cal->filename;
+ for (size_t j = 0; j < cal->components.length; j++) {
+ vcomponent* ev = GET(VECT(vcomponent))(&cal->components, j);
- printf("TYPE = %s\n", ev->type);
- if (strcmp(ev->type, "VEVENT") != 0) continue;
+ if (strcmp(ev->type, "VEVENT") != 0) continue;
- printf("%3lu | %s | %s\n",
- i + 1,
- filename,
- get_property(ev, "SUMMARY")->vals.cur->value->mem);
+ printf("%3lu | %s | %s\n",
+ i + 1,
+ filename,
+ get_property(ev, "SUMMARY")->vals.cur->value->mem);
+ }
}
} else if (strcmp(args.argv[0], "-g") == 0) {
if (arg_shift(&args) == 0) {
- for (size_t i = 0; i < cal->components.length; i++) {
+ for (size_t i = 0; i < root.components.length; i++) {
+ vcomponent* cal = GET(VECT(vcomponent))(&root.components, i);
+ assert(strcmp(cal->type, "VCALENDAR") == 0);
+
+ vcomponent* ev = FCHILD(cal);
+
char target[0xFF];
target[0] = '\0';
strcat(target, "/tmp/dot/");
- vcomponent* ev = GET(VECT(vcomponent))(&cal->components, i);
strcat(target, ev->filename);
strcat(target, ".dot");
create_graph(ev, target);
}
} else {
- create_graph(GET(VECT(vcomponent))(&cal->components, 0), args.argv[0]);
+ create_graph(FCHILD(FCHILD(&root)), args.argv[0]);
}
}