aboutsummaryrefslogtreecommitdiff
path: root/puff.h
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-18 18:09:26 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-18 18:09:26 +0200
commit35ba4dc3dc5c85ddd4ccb3ec02f8fa5e1c11874b (patch)
treec92319d683266ae426aa5bb343e54a395f12ce0f /puff.h
parent0bef4a169f5f8181926ff77e3429da8f4eda106b (diff)
downloadclectio-main.tar.gz
clectio-main.zip
fix: EF crashed on 1246 of the 10957 dates in rangeHEADmain
gen/liturgy_ef.h was regenerated in an earlier session without refreshing gen/verses_ef.keys.gz, which is what the Makefile actually packs the text from. The tables indexed 3584 verses; the packed text held 3248. print_day then read verse[i] past the end and dereferenced NULL. Reproduced against the fully committed tree with a plain make: 1246 of 10957 EF dates exit 139. Heavily clustered in Advent and December -- 30 of 30 years for each of 11-30, 12-03, 12-05, 12-06, 12-09, 12-10, 12-12, 12-21 through 12-25. OF swept clean, 0 of 10957. Three changes: - gen/ regenerated against lectio HEAD with keys and tables in step (3584 both), and text_ef.lz repacked from the same keys. - clectio.c records how many verses the packed text holds and prints "[verse text missing]" rather than reading past it. Missing text is a visible gap now, never a crash. Proved by rebuilding against the stale keys: 1246 crashes -> 0, placeholder shown. - upstream, lectio's clectio-gen now writes the .gz alongside the plain keys, so the two cannot drift again. The regenerated tables also carry two EF calendar corrections colitur argued from the 1962 Missal and lectio adopted: the Holy Family propers' 13-January omission of the Baptism, and RG 96(a)/97/98 transfers, which put St Joseph back on 2035-04-03 and 2046-04-03 (he was observed on no day of those years). Distinct days 656 -> 642: the ferias between Epiphany and the Sunday after it now repeat Epiphany's own Mass instead of each carrying a distinct one. Swept after the fix: EF 0 crashes, OF 0 crashes. Readings compared against lectio across 2030/2035/2046 (1095 days): no divergence beyond each project's own book abbreviations.
Diffstat (limited to 'puff.h')
0 files changed, 0 insertions, 0 deletions