diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-02-25 12:27:37 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-02-25 12:27:37 +0000 |
commit | 8f3ec82bd3ba7aa8787e16c8c71de3b052b4866a (patch) | |
tree | 96b81baf67cff089fdf6a6420ddaa14ad443b893 /term.c | |
parent | 17758e0da9b52fb54e22c38cf77b36a01e52eb66 (diff) | |
download | mandoc-8f3ec82bd3ba7aa8787e16c8c71de3b052b4866a.tar.gz |
Some offsets built into termpair.
Diffstat (limited to 'term.c')
-rw-r--r-- | term.c | 60 |
1 files changed, 25 insertions, 35 deletions
@@ -654,25 +654,6 @@ termp_op_post(DECL_ARGS) /* ARGSUSED */ -static void -termp_sh_post(DECL_ARGS) -{ - - switch (node->type) { - case (MDOC_HEAD): - newln(p); - break; - case (MDOC_BODY): - newln(p); - p->offset = 0; - break; - default: - break; - } -} - - -/* ARGSUSED */ static int termp_xr_pre(DECL_ARGS) { @@ -765,6 +746,25 @@ termp_sh_pre(DECL_ARGS) /* ARGSUSED */ +static void +termp_sh_post(DECL_ARGS) +{ + + switch (node->type) { + case (MDOC_HEAD): + newln(p); + break; + case (MDOC_BODY): + newln(p); + p->offset = 0; + break; + default: + break; + } +} + + +/* ARGSUSED */ static int termp_op_pre(DECL_ARGS) { @@ -809,7 +809,7 @@ termp_d1_pre(DECL_ARGS) if (MDOC_BODY != node->type) return(1); newln(p); - p->offset += INDENT; + p->offset += (pair->offset = INDENT); return(1); } @@ -822,7 +822,7 @@ termp_d1_post(DECL_ARGS) if (MDOC_BODY != node->type) return; newln(p); - p->offset -= INDENT; + p->offset -= pair->offset; } @@ -988,7 +988,8 @@ termp_bd_pre(DECL_ARGS) i = arg_getattr(MDOC_Offset, bl->argc, bl->argv); if (-1 != i) { assert(1 == bl->argv[i].sz); - p->offset += arg_offset(&bl->argv[i]); + pair->offset = arg_offset(&bl->argv[i]); + p->offset += pair->offset; } if ( ! arg_hasattr(MDOC_Literal, bl->argc, bl->argv)) @@ -1015,20 +1016,9 @@ termp_bd_pre(DECL_ARGS) static void termp_bd_post(DECL_ARGS) { - int i; - const struct mdoc_block *bl; - - if (MDOC_BODY != node->type) - return; - - assert(MDOC_BLOCK == node->parent->type); - bl = &node->parent->data.block; - i = arg_getattr(MDOC_Offset, bl->argc, bl->argv); - if (-1 != i) { - assert(1 == bl->argv[i].sz); - p->offset -= arg_offset(&bl->argv[i]); - } + if (MDOC_BODY == node->type) + p->offset -= pair->offset; } |