version 1.51, 2010/01/01 13:35:30 |
version 1.56, 2010/04/03 14:25:12 |
|
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
*/ |
*/ |
|
#ifdef HAVE_CONFIG_H |
|
#include "config.h" |
|
#endif |
|
|
#include <sys/types.h> |
#include <sys/types.h> |
#include <sys/param.h> |
|
|
|
#include <assert.h> |
#include <assert.h> |
#include <ctype.h> |
#include <ctype.h> |
|
|
const struct mdoc_node *n, \ |
const struct mdoc_node *n, \ |
struct html *h |
struct html *h |
|
|
|
#ifndef MIN |
|
#define MIN(a,b) ((/*CONSTCOND*/(a)<(b))?(a):(b)) |
|
#endif |
|
|
struct htmlmdoc { |
struct htmlmdoc { |
int (*pre)(MDOC_ARGS); |
int (*pre)(MDOC_ARGS); |
void (*post)(MDOC_ARGS); |
void (*post)(MDOC_ARGS); |
Line 126 static int mdoc_vt_pre(MDOC_ARGS); |
|
Line 133 static int mdoc_vt_pre(MDOC_ARGS); |
|
static int mdoc_xr_pre(MDOC_ARGS); |
static int mdoc_xr_pre(MDOC_ARGS); |
static int mdoc_xx_pre(MDOC_ARGS); |
static int mdoc_xx_pre(MDOC_ARGS); |
|
|
#ifdef __linux__ |
|
extern size_t strlcpy(char *, const char *, size_t); |
|
extern size_t strlcat(char *, const char *, size_t); |
|
#endif |
|
|
|
static const struct htmlmdoc mdocs[MDOC_MAX] = { |
static const struct htmlmdoc mdocs[MDOC_MAX] = { |
{mdoc_ap_pre, NULL}, /* Ap */ |
{mdoc_ap_pre, NULL}, /* Ap */ |
{NULL, NULL}, /* Dd */ |
{NULL, NULL}, /* Dd */ |
Line 198 static const struct htmlmdoc mdocs[MDOC_MAX] = { |
|
Line 200 static const struct htmlmdoc mdocs[MDOC_MAX] = { |
|
{NULL, NULL}, /* Dc */ |
{NULL, NULL}, /* Dc */ |
{mdoc_dq_pre, mdoc_dq_post}, /* Do */ |
{mdoc_dq_pre, mdoc_dq_post}, /* Do */ |
{mdoc_dq_pre, mdoc_dq_post}, /* Dq */ |
{mdoc_dq_pre, mdoc_dq_post}, /* Dq */ |
{NULL, NULL}, /* Ec */ |
{NULL, NULL}, /* Ec */ /* FIXME: no space */ |
{NULL, NULL}, /* Ef */ |
{NULL, NULL}, /* Ef */ |
{mdoc_em_pre, NULL}, /* Em */ |
{mdoc_em_pre, NULL}, /* Em */ |
{NULL, NULL}, /* Eo */ |
{NULL, NULL}, /* Eo */ |
Line 264 html_mdoc(void *arg, const struct mdoc *m) |
|
Line 266 html_mdoc(void *arg, const struct mdoc *m) |
|
|
|
h = (struct html *)arg; |
h = (struct html *)arg; |
|
|
print_gen_doctype(h); |
print_gen_decls(h); |
t = print_otag(h, TAG_HTML, 0, NULL); |
t = print_otag(h, TAG_HTML, 0, NULL); |
print_mdoc(mdoc_meta(m), mdoc_node(m), h); |
print_mdoc(mdoc_meta(m), mdoc_node(m), h); |
print_tagq(h, t); |
print_tagq(h, t); |
Line 754 mdoc_xr_pre(MDOC_ARGS) |
|
Line 756 mdoc_xr_pre(MDOC_ARGS) |
|
struct htmlpair tag[2]; |
struct htmlpair tag[2]; |
const struct mdoc_node *nn; |
const struct mdoc_node *nn; |
|
|
|
if (NULL == n->child) |
|
return(0); |
|
|
PAIR_CLASS_INIT(&tag[0], "link-man"); |
PAIR_CLASS_INIT(&tag[0], "link-man"); |
|
|
if (h->base_man) { |
if (h->base_man) { |
Line 1581 mdoc_vt_pre(MDOC_ARGS) |
|
Line 1586 mdoc_vt_pre(MDOC_ARGS) |
|
struct htmlpair tag; |
struct htmlpair tag; |
struct roffsu su; |
struct roffsu su; |
|
|
if (SEC_SYNOPSIS == n->sec) { |
if (MDOC_BLOCK == n->type) { |
if (n->prev && MDOC_Vt != n->prev->tok) { |
if (n->prev && MDOC_Vt != n->prev->tok) { |
SCALE_VS_INIT(&su, 1); |
SCALE_VS_INIT(&su, 1); |
bufcat_su(h, "margin-top", &su); |
bufcat_su(h, "margin-top", &su); |
Line 1589 mdoc_vt_pre(MDOC_ARGS) |
|
Line 1594 mdoc_vt_pre(MDOC_ARGS) |
|
print_otag(h, TAG_DIV, 1, &tag); |
print_otag(h, TAG_DIV, 1, &tag); |
} else |
} else |
print_otag(h, TAG_DIV, 0, NULL); |
print_otag(h, TAG_DIV, 0, NULL); |
} |
|
|
return(1); |
|
} else if (MDOC_HEAD == n->type) |
|
return(0); |
|
|
PAIR_CLASS_INIT(&tag, "type"); |
PAIR_CLASS_INIT(&tag, "type"); |
print_otag(h, TAG_SPAN, 1, &tag); |
print_otag(h, TAG_SPAN, 1, &tag); |