diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-07-01 22:56:17 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-07-01 22:56:17 +0000 |
commit | 68ee78dc7731e4adb30a4b384fa171f2116f8561 (patch) | |
tree | b091c0f021833dae369e100a2ca9257ce6d2fa9e /mdoc_html.c | |
parent | 0bae01a379ba9702c03dfcf16874c3ec9beaa711 (diff) | |
download | mandoc-68ee78dc7731e4adb30a4b384fa171f2116f8561.tar.gz |
Make struct_bl and struct_bd into pointers. This removes the need to do
copying on internals after modification. Even more importantly, if an
ENDBODY token is provided, it would have been impossible for post-change
copying of the data to take place in the BLOCK. This allows it to
happen by dint of pointers.
Also did some bikeshedding in mdoc_term.c: checking against enum type
and explicitly casting to the "post" function to void. This is for my
own readability.
Diffstat (limited to 'mdoc_html.c')
-rw-r--r-- | mdoc_html.c | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/mdoc_html.c b/mdoc_html.c index 531b6153..3ce6bf90 100644 --- a/mdoc_html.c +++ b/mdoc_html.c @@ -1038,11 +1038,12 @@ mdoc_it_pre(MDOC_ARGS) SCALE_HS_INIT(&offs, 0); - type = bl->data.Bl.type; - comp = bl->data.Bl.comp; + assert(bl->data.Bl); + type = bl->data.Bl->type; + comp = bl->data.Bl->comp; - if (bl->data.Bl.offs) - a2offs(bl->data.Bl.offs, &offs); + if (bl->data.Bl->offs) + a2offs(bl->data.Bl->offs, &offs); switch (type) { case (LIST_enum): @@ -1059,8 +1060,8 @@ mdoc_it_pre(MDOC_ARGS) break; } - if (bl->data.Bl.width) - a2width(bl->data.Bl.width, &width); + if (bl->data.Bl->width) + a2width(bl->data.Bl->width, &width); wp = -1; for (i = 0; bl->args && i < (int)bl->args->argc; i++) @@ -1118,7 +1119,8 @@ mdoc_bl_pre(MDOC_ARGS) return(0); if (MDOC_BLOCK != n->type) return(1); - if (LIST_enum != n->data.Bl.type) + assert(n->data.Bl); + if (LIST_enum != n->data.Bl->type) return(1); ord = malloc(sizeof(struct ord)); @@ -1142,7 +1144,7 @@ mdoc_bl_post(MDOC_ARGS) if (MDOC_BLOCK != n->type) return; - if (LIST_enum != n->data.Bl.type) + if (LIST_enum != n->data.Bl->type) return; ord = h->ords.head; @@ -1357,10 +1359,11 @@ mdoc_bd_pre(MDOC_ARGS) SCALE_VS_INIT(&su, 0); - if (n->data.Bd.offs) - a2offs(n->data.Bd.offs, &su); + assert(n->data.Bd); + if (n->data.Bd->offs) + a2offs(n->data.Bd->offs, &su); - comp = n->data.Bd.comp; + comp = n->data.Bd->comp; /* FIXME: -centered, etc. formatting. */ /* FIXME: does not respect -offset ??? */ @@ -1387,8 +1390,8 @@ mdoc_bd_pre(MDOC_ARGS) return(1); } - if (DISP_unfilled != n->data.Bd.type && - DISP_literal != n->data.Bd.type) + if (DISP_unfilled != n->data.Bd->type && + DISP_literal != n->data.Bd->type) return(1); PAIR_CLASS_INIT(&tag[0], "lit"); |