commit bf1151c51afa5c7c137a8c6d6df8f9f271a63c1e
parent da320f9c49d1e6cb887b67ac9ce05cd93001a2b7
Author: Jonas Jelten <jj@sft.mx>
Date: Mon, 19 Jan 2015 04:28:24 +0100
support for comments to ignore lines
use # as first character in a line to skip this line
from the slides.
Diffstat:
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git 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
@@ -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;