summaryrefslogtreecommitdiff
path: root/sent.c
diff options
context:
space:
mode:
authorJonas Jelten <jj@sft.mx>2015-01-19 04:28:24 +0100
committerJonas Jelten <jj@sft.mx>2015-01-19 04:28:24 +0100
commitbf1151c51afa5c7c137a8c6d6df8f9f271a63c1e (patch)
tree95725ba8b3e2f4a132b33da50a126f123615203a /sent.c
parentda320f9c49d1e6cb887b67ac9ce05cd93001a2b7 (diff)
support for comments to ignore lines
use # as first character in a line to skip this line from the slides.
Diffstat (limited to 'sent.c')
-rw-r--r--sent.c7
1 files changed, 5 insertions, 2 deletions
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;