=================================================================== RCS file: /cvs/mandoc/mdoc.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -p -r1.40 -r1.41 --- mandoc/mdoc.c 2009/01/20 13:05:28 1.40 +++ mandoc/mdoc.c 2009/01/20 13:44:05 1.41 @@ -1,4 +1,4 @@ -/* $Id: mdoc.c,v 1.40 2009/01/20 13:05:28 kristaps Exp $ */ +/* $Id: mdoc.c,v 1.41 2009/01/20 13:44:05 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -26,6 +26,12 @@ #include "private.h" +/* + * Main caller in the libmdoc library. This begins the parsing routine, + * handles allocation of data, and so forth. Most of the "work" is done + * in macro.c, but this orchestrates who does what, when. + */ + const char *const __mdoc_macronames[MDOC_MAX] = { "\\\"", "Dd", "Dt", "Os", "Sh", "Ss", "Pp", "D1", @@ -83,6 +89,8 @@ const char *const __mdoc_argnames[MDOC_ARG_MAX] = { "emphasis", "symbolic", }; +/* Central table of library: who gets parsed how. */ + const struct mdoc_macro __mdoc_macros[MDOC_MAX] = { { NULL, 0 }, /* \" */ { macro_constant, MDOC_PROLOGUE }, /* Dd */ @@ -198,7 +206,6 @@ const struct mdoc_macro __mdoc_macros[MDOC_MAX] = { const char * const *mdoc_macronames = __mdoc_macronames; const char * const *mdoc_argnames = __mdoc_argnames; const struct mdoc_macro * const mdoc_macros = __mdoc_macros; - static struct mdoc_arg *argdup(size_t, const struct mdoc_arg *); static void argfree(size_t, struct mdoc_arg *);