Skip to content

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.
Assets 2
Loading