From bf1151c51afa5c7c137a8c6d6df8f9f271a63c1e Mon Sep 17 00:00:00 2001 From: Jonas Jelten Date: Mon, 19 Jan 2015 04:28:24 +0100 Subject: [PATCH] support for comments to ignore lines use # as first character in a line to skip this line from the slides. --- example | 1 + sent.c | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/example b/example index 0627116..6aa415a 100644 --- a/example +++ b/example @@ -7,5 +7,6 @@ no bloat how? sent FILENAME one slide per line +# comments @FILE.png thanks / questions? diff --git a/sent.c b/sent.c index f089393..0e3f757 100644 --- a/sent.c +++ b/sent.c @@ -440,19 +440,22 @@ void load(FILE *fp) { static size_t size = 0; char buf[BUFSIZ], *p; - size_t i; + size_t i = slidecount; /* read each line from stdin and add it to the item list */ - for (i = slidecount; fgets(buf, sizeof(buf), fp); i++) { + while (fgets(buf, sizeof(buf), fp)) { if ((i+1) * sizeof(*slides) >= size) if (!(slides = realloc(slides, (size += BUFSIZ)))) eprintf("cannot realloc %u bytes:", size); + if (*buf == '#') + continue; if ((p = strchr(buf, '\n'))) *p = '\0'; if (!(slides[i].text = strdup(buf))) eprintf("cannot strdup %u bytes:", strlen(buf)+1); if (slides[i].text[0] == '@') slides[i].img = pngopen(slides[i].text + 1); + i++; } if (slides) slides[i].text = NULL;