New Code!
Discount has been pushed up to version 1.1.5 with a few assorted cleanups and bugfixes:
- First, try to make it more portable to not-quite-standard
systems (like Windows + MSVC) by not using alloca anywhere and by having
configure look for
strcasecmp
vsstricmp
andstrncasecmp
vsstrnicmp
, then - Clean up some horrid interactions with bsearch by converting
blocktags[]
into an array ofstruct kw
s and havingisopentag()
construct astruct kw
and use that for searching instead ofmalloc()
ing a buffer, making a null-terminated string, then comparing against that, and, finally - Catch a horrible parsing bug where I didn’t null-terminate html blocks during
the blocking pass of the compiler, so at cleanup time I ended up double-freeing
blocks and causing the program to dump core if I used anything other than
alloca()
insideisopentag()
.
It still passes the standard Markdown test suite, so it’s bound to be perfect in every way™, and that makes it good enough to be New Code for your compiling amusement.