diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-07-28 23:33:23 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-07-28 23:33:23 +0200 |
| commit | 46e482552c35456ddc836720df0a44ba25f60544 (patch) | |
| tree | 241d18be89022e7e0951b80752f7b2c3815de0e1 /clectio.c | |
| parent | 4a0ab3d2f390a68b18c40b04269c46a6373c08f9 (diff) | |
| download | clectio-46e482552c35456ddc836720df0a44ba25f60544.tar.gz clectio-46e482552c35456ddc836720df0a44ba25f60544.zip | |
feat: config.h GOSPEL_ONLY -- print all readings (default) or just the Gospel
Add a compile-time toggle in config.h: GOSPEL_ONLY=0 (default) prints every
reading; GOSPEL_ONLY=1 prints only the Gospel. The Gospel is matched by its
part label, so it works for both forms. Help and the compiled-settings line
report the mode. Also tidy print_day's header underline to match the width of
the "<form> for <date>" line instead of the reading count. No data change;
strict -Wsign-conversion clean in both modes.
Claude-Session: https://claude.ai/code/session_01S1CD1u3tgSS4xNu6WHfp5a
Diffstat (limited to 'clectio.c')
| -rw-r--r-- | clectio.c | 17 |
1 files changed, 11 insertions, 6 deletions
@@ -67,18 +67,23 @@ static const char *citation(int r) { static void print_day(long off, const char *datestr) { const Day *d = &days[cal[off]]; - unsigned k, ri; + unsigned ri; + int n; if (usecolor) - printf("%s%s\033[0m", colansi[d->colour], names[d->name]); + printf("%s%s\033[0m\n", colansi[d->colour], names[d->name]); else - printf("%s \xc2\xb7 %s", names[d->name], colname[d->colour]); - printf("\n%s for %s\n", FORMNAME, datestr); - for (k = 0; k < d->rlen; k++) + printf("%s \xc2\xb7 %s\n", names[d->name], colname[d->colour]); + n = printf("%s for %s\n", FORMNAME, datestr) - 1; /* underline that line */ + while (n-- > 0) putchar('='); putchar('\n'); for (ri = 0; ri < d->rlen; ri++) { const Reading *r = &readings[rpool[d->roff + ri]]; unsigned v; +#if GOSPEL_ONLY + if (strcmp(parts[r->part], "Gospel") != 0) + continue; +#endif printf("\n%s (%s)\n\n", parts[r->part], citation(rpool[d->roff + ri])); for (v = 0; v < r->vlen; v++) printf("%s\n", verse[vpool[r->voff + v]]); @@ -95,7 +100,7 @@ int main(int argc, char **argv) { if (argc > 1 && (!strcmp(argv[1], "-h") || !strcmp(argv[1], "--help"))) { fprintf(stderr, "usage: clectio [YYYY-MM-DD] (default: today)\n" - " compiled: %s, %s, %d-%d\n", FORMNAME, SIGLANAME, EPOCH_Y, EPOCH_Y + (NDAYS / 366)); + " compiled: %s, %s, %s, %d-%d\n", FORMNAME, SIGLANAME, READMODE, EPOCH_Y, EPOCH_Y + (NDAYS / 366)); return 0; } if (argc > 1) { |
