sent

simple plaintext presentation tool
git clone git://git.suckless.org/sent
Log | Files | Refs | README | LICENSE

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:
Mexample | 1+
Msent.c | 7+++++--
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;