v2.0.4beta3
tagged this
04 Jan 06:14
First, the bugfixes:
1. In `mkd_css()`, don't check that `*res` is non-null.
2. if definition lists are turned off, note that in version.c
3. unclosed html & style blocks now revert to being plain old
markdown instead of being accepted as unclosed blocks of
html or style.
4. Add a `mkd_shlib_destructor` function so people who use it
as a run-time load(and unload)able shared library can clean
up the dynamically allocated html tag list before unloading
the library.
5. repair markdown extra-style dl handling so that skipped blank
lines are garbage collected.
6. Flip the order of arguments to `fwrite()` inside `mkd_generatecss()`;
it was `size, 1` (write 1 element size bytes long; fwrite will
return 1 or 0) and it should be `1, size` so I can get back the
number of bytes actually written.
Then the chrome:
1. Add prototypes for `mkd_initialize()`, `mkd_shlib_destructor()`,
and `mkd_deallocate_tags()` to make gcc stfu.
2. null terminate the buffers generated by `mkd_css()`, `mkd_toc()`,
and `mkd_line()` (in the same fashion as elsewhere; the null
termination is allocated, but the returned size doesn't count
it. This way a `fwrite()` writes out the proper number of
characters, but a naive `fputs()` won't charge off into terra
incognito.)
3. Be more picky about what comes before a superscript "`^`";
alphanumerics plus ")" are good, other nonspace characters
are not.
And finally the feature:
* Shared libraries are now supported through the `--shared` flag
to `configure.sh`. MacOS, FreeBSD, and Linux only, though.