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;