This Space for Rent

New Code!

Discount has been pushed up to version 1.1.5 with a few assorted cleanups and bugfixes:

  1. 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 vs stricmp and strncasecmp vs strnicmp, then
  2. Clean up some horrid interactions with bsearch by converting blocktags[] into an array of struct kws and having isopentag() construct a struct kw and use that for searching instead of malloc()ing a buffer, making a null-terminated string, then comparing against that, and, finally
  3. 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() inside isopentag().

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.