-/* $Id: man_html.c,v 1.64 2011/01/12 15:31:17 kristaps Exp $ */
+/* $Id: man_html.c,v 1.65 2011/01/12 15:41:09 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
*
static int man_in_pre(MAN_ARGS);
static int man_literal_pre(MAN_ARGS);
static void man_root_post(MAN_ARGS);
-static int man_root_pre(MAN_ARGS);
+static void man_root_pre(MAN_ARGS);
static int man_B_pre(MAN_ARGS);
static int man_HP_pre(MAN_ARGS);
static int man_I_pre(MAN_ARGS);
child = 1;
t = h->tags.head;
-
bufinit(h);
switch (n->type) {
case (MAN_ROOT):
- child = man_root_pre(m, n, mh, h);
+ man_root_pre(m, n, mh, h);
break;
case (MAN_TEXT):
+ /*
+ * If we have a blank line, output a vertical space.
+ * If we have a space as the first character, break
+ * before printing the line's data.
+ */
if ('\0' == *n->string) {
print_otag(h, TAG_P, 0, NULL);
return;
print_text(h, n->string);
+ /*
+ * If we're in a literal context, make sure that words
+ * togehter on the same line stay together. This is a
+ * POST-printing call, so we check the NEXT word. Since
+ * -man doesn't have nested macros, we don't need to be
+ * more specific than this.
+ */
if (MANH_LITERAL & mh->fl &&
(NULL == n->next ||
n->next->line > n->line))
/* ARGSUSED */
-static int
+static void
man_root_pre(MAN_ARGS)
{
struct htmlpair tag[3];
print_text(h, title);
print_tagq(h, t);
- return(1);
}