summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-09-21 14:07:07 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-09-21 14:07:07 +0000
commit29580f6bb757a73803c2045973d9662097988ab1 (patch)
treebeb6fead5feb32bafd4c031ca30d160cc1ce0468
parent84d661915150fb271e81f789e1ba20d8809e4be9 (diff)
downloadmandoc-29580f6bb757a73803c2045973d9662097988ab1.tar.gz
Consolidation of Pp/sp/br/Lp stuff.
-rw-r--r--html.c47
-rw-r--r--mdoc_term.c42
2 files changed, 41 insertions, 48 deletions
diff --git a/html.c b/html.c
index 003a0db0..f46a714e 100644
--- a/html.c
+++ b/html.c
@@ -220,12 +220,12 @@ static int mdoc_ns_pre(MDOC_ARGS);
static void mdoc_op_post(MDOC_ARGS);
static int mdoc_op_pre(MDOC_ARGS);
static int mdoc_pa_pre(MDOC_ARGS);
-static int mdoc_pp_pre(MDOC_ARGS);
static void mdoc_pq_post(MDOC_ARGS);
static int mdoc_pq_pre(MDOC_ARGS);
static void mdoc_qq_post(MDOC_ARGS);
static int mdoc_qq_pre(MDOC_ARGS);
static int mdoc_sh_pre(MDOC_ARGS);
+static int mdoc_sp_pre(MDOC_ARGS);
static void mdoc_sq_post(MDOC_ARGS);
static int mdoc_sq_pre(MDOC_ARGS);
static int mdoc_ss_pre(MDOC_ARGS);
@@ -241,13 +241,13 @@ extern size_t strlcat(char *, const char *, size_t);
#endif
static const struct htmlmdoc mdocs[MDOC_MAX] = {
- {mdoc_pp_pre, NULL}, /* Ap */
+ {NULL, NULL}, /* Ap */
{NULL, NULL}, /* Dd */
{NULL, NULL}, /* Dt */
{NULL, NULL}, /* Os */
{mdoc_sh_pre, NULL }, /* Sh */
{mdoc_ss_pre, NULL }, /* Ss */
- {mdoc_pp_pre, NULL}, /* Pp */
+ {mdoc_sp_pre, NULL}, /* Pp */
{mdoc_d1_pre, NULL}, /* D1 */
{mdoc_d1_pre, NULL}, /* Dl */
{mdoc_bd_pre, NULL}, /* Bd */
@@ -348,7 +348,7 @@ static const struct htmlmdoc mdocs[MDOC_MAX] = {
{NULL, NULL}, /* Fr */
{NULL, NULL}, /* Ud */
{NULL, NULL}, /* Lb */
- {NULL, NULL}, /* Lp */
+ {mdoc_sp_pre, NULL}, /* Lp */
{NULL, NULL}, /* Lk */
{NULL, NULL}, /* Mt */
{NULL, NULL}, /* Brq */
@@ -359,8 +359,8 @@ static const struct htmlmdoc mdocs[MDOC_MAX] = {
{NULL, NULL}, /* En */
{mdoc_xx_pre, NULL}, /* Dx */
{NULL, NULL}, /* %Q */
- {NULL, NULL}, /* br */
- {NULL, NULL}, /* sp */
+ {mdoc_sp_pre, NULL}, /* br */
+ {mdoc_sp_pre, NULL}, /* sp */
};
static char buf[BUFSIZ]; /* XXX */
@@ -1223,19 +1223,6 @@ mdoc_fl_pre(MDOC_ARGS)
/* ARGSUSED */
static int
-mdoc_pp_pre(MDOC_ARGS)
-{
- struct htmlpair tag;
-
- tag.key = ATTR_STYLE;
- tag.val = "clear: both; height: 1em;";
- print_otag(h, TAG_DIV, 1, &tag);
- return(0);
-}
-
-
-/* ARGSUSED */
-static int
mdoc_nd_pre(MDOC_ARGS)
{
struct htmlpair tag;
@@ -2172,3 +2159,25 @@ mdoc_fn_pre(MDOC_ARGS)
return(0);
}
+
+
+/* ARGSUSED */
+static int
+mdoc_sp_pre(MDOC_ARGS)
+{
+ int len;
+ struct htmlpair tag;
+
+ if (MDOC_sp == n->tok)
+ len = n->child ? atoi(n->child->string) : 1;
+ else
+ len = 1;
+
+ buffmt("height: %dem", len);
+
+ tag.key = ATTR_STYLE;
+ tag.val = buf;
+ print_otag(h, TAG_DIV, 1, &tag);
+ return(1);
+
+}
diff --git a/mdoc_term.c b/mdoc_term.c
index 4441a1cb..5fc88bde 100644
--- a/mdoc_term.c
+++ b/mdoc_term.c
@@ -113,7 +113,6 @@ static int termp_bd_pre(DECL_ARGS);
static int termp_bf_pre(DECL_ARGS);
static int termp_bold_pre(DECL_ARGS);
static int termp_bq_pre(DECL_ARGS);
-static int termp_br_pre(DECL_ARGS);
static int termp_brq_pre(DECL_ARGS);
static int termp_bt_pre(DECL_ARGS);
static int termp_cd_pre(DECL_ARGS);
@@ -133,7 +132,6 @@ static int termp_nm_pre(DECL_ARGS);
static int termp_ns_pre(DECL_ARGS);
static int termp_op_pre(DECL_ARGS);
static int termp_pf_pre(DECL_ARGS);
-static int termp_pp_pre(DECL_ARGS);
static int termp_pq_pre(DECL_ARGS);
static int termp_qq_pre(DECL_ARGS);
static int termp_rs_pre(DECL_ARGS);
@@ -155,7 +153,7 @@ static const struct termact termacts[MDOC_MAX] = {
{ NULL, NULL }, /* Os */
{ termp_sh_pre, termp_sh_post }, /* Sh */
{ termp_ss_pre, termp_ss_post }, /* Ss */
- { termp_pp_pre, NULL }, /* Pp */
+ { termp_sp_pre, NULL }, /* Pp */
{ termp_d1_pre, termp_d1_post }, /* D1 */
{ termp_d1_pre, termp_d1_post }, /* Dl */
{ termp_bd_pre, termp_bd_post }, /* Bd */
@@ -256,7 +254,7 @@ static const struct termact termacts[MDOC_MAX] = {
{ NULL, NULL }, /* Fr */
{ termp_ud_pre, NULL }, /* Ud */
{ NULL, termp_lb_post }, /* Lb */
- { termp_pp_pre, NULL }, /* Lp */
+ { termp_sp_pre, NULL }, /* Lp */
{ termp_lk_pre, NULL }, /* Lk */
{ termp_under_pre, NULL }, /* Mt */
{ termp_brq_pre, termp_brq_post }, /* Brq */
@@ -267,7 +265,7 @@ static const struct termact termacts[MDOC_MAX] = {
{ NULL, NULL }, /* En */
{ termp_xx_pre, NULL }, /* Dx */
{ NULL, NULL }, /* %Q */
- { termp_br_pre, NULL }, /* br */
+ { termp_sp_pre, NULL }, /* br */
{ termp_sp_pre, NULL }, /* sp */
};
@@ -1163,16 +1161,6 @@ termp_ns_pre(DECL_ARGS)
/* ARGSUSED */
static int
-termp_pp_pre(DECL_ARGS)
-{
-
- term_vspace(p);
- return(1);
-}
-
-
-/* ARGSUSED */
-static int
termp_rs_pre(DECL_ARGS)
{
@@ -1878,12 +1866,18 @@ termp_sp_pre(DECL_ARGS)
{
int i, len;
- if (NULL == node->child) {
- term_vspace(p);
- return(0);
+ switch (node->type) {
+ case (MDOC_sp):
+ len = node->child ? atoi(node->child->string) : 1;
+ break;
+ case (MDOC_br):
+ len = 0;
+ break;
+ default:
+ len = 1;
+ break;
}
- len = atoi(node->child->string);
if (0 == len)
term_newln(p);
for (i = 0; i < len; i++)
@@ -1895,16 +1889,6 @@ termp_sp_pre(DECL_ARGS)
/* ARGSUSED */
static int
-termp_br_pre(DECL_ARGS)
-{
-
- term_newln(p);
- return(1);
-}
-
-
-/* ARGSUSED */
-static int
termp_brq_pre(DECL_ARGS)
{