Poster of Linux kernelThe best gift for a Linux geek
MKD_CALLBACKS

MKD_CALLBACKS

Section: C Library Functions (3)
Local index Up

BSD mandoc
Mastodon  

NAME

mkd_callbacks - functions that modify link targets  

LIBRARY

Markdown (libmarkdown , -lmarkdown)  

SYNOPSIS

Fd #include <mkdio.h> Ft char* Fn (*mkd_callback_t) const char* const int void* Ft void Fn (*mkd_free_t) char * void* Ft void Fn mkd_e_url MMIOT *document mkd_callback_t edit Ft void Fn mkd_e_flags MMIOT *document mkd_callback_t edit Ft void Fn mkd_e_free MMIOT *document mkd_free_t dealloc Ft void Fn mkd_e_data MMIOT *document void *data  

DESCRIPTION

Discount provides a small set of data access functions to let a library user modify the targets given in a `[]' link, and to add additional flags to the generated link.

The data access functions are passed a character pointer to the url being generated, the size of the url, and a data pointer pointing to a user data area (set by the Fn mkd_e_data function.) After the callback function is called (either Fn mkd_e_url or Fn mkd_e_flags ) the data freeing function (if supplied) is called and passed the character pointer and user data pointer.  

EXAMPLE

The Fn mkd_basename function (in the module basename.c) is implemented by means of mkd callbacks; it modifies urls that start with a `/' so that they begin with a user-supplied url base by allocating a new string and filling it with the base + the url. Discount plugs that url in in place of the original, then calls the basename free function (it only does this when Fn mkd_e_url or Fn mkd_e_flags returns nonzero) to deallocate this memory.

Note that only one level of callbacks are supported; if you wish to do multiple callbacks, you need to write your own code to handle them all.  

SEE ALSO

markdown(1), markdown(3), mkd-line3, markdown(7), mkd-extensions7, mmap(2).

basename.c

http://daringfireball.net/projects/markdown/syntax  

BUGS

Error handling is minimal at best.


 

Index

NAME
LIBRARY
SYNOPSIS
DESCRIPTION
EXAMPLE
SEE ALSO
BUGS

This document was created by man2html, using the manual pages.
Time: 07:57:22 GMT, June 15, 2011