summaryrefslogtreecommitdiff
path: root/usr.bin/mandoc/man_term.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@cvs.openbsd.org>2010-06-10 22:50:11 +0000
committerIngo Schwarze <schwarze@cvs.openbsd.org>2010-06-10 22:50:11 +0000
commitc1243dd3d425f1ed2e443ef64c366b6257899b39 (patch)
tree34680ff8ebd5a852446d0bd685577e2be50aba6d /usr.bin/mandoc/man_term.c
parentb075642d3aba8bbab0d253676dac4429a2db1be1 (diff)
minimal initial -Tps support, from kristaps@ GSOC
so far, monospace without font decoration, but it already has page headers and footers
Diffstat (limited to 'usr.bin/mandoc/man_term.c')
-rw-r--r--usr.bin/mandoc/man_term.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/usr.bin/mandoc/man_term.c b/usr.bin/mandoc/man_term.c
index 89faae3db5c..79cd4481d95 100644
--- a/usr.bin/mandoc/man_term.c
+++ b/usr.bin/mandoc/man_term.c
@@ -1,4 +1,4 @@
-/* $Id: man_term.c,v 1.40 2010/06/06 18:08:41 schwarze Exp $ */
+/* $Id: man_term.c,v 1.41 2010/06/10 22:50:10 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -69,12 +69,10 @@ struct termact {
static int a2width(const struct man_node *);
static int a2height(const struct man_node *);
-static void print_man_head(struct termp *,
- const struct man_meta *);
static void print_man_nodelist(DECL_ARGS);
static void print_man_node(DECL_ARGS);
-static void print_man_foot(struct termp *,
- const struct man_meta *);
+static void print_man_head(struct termp *, const void *);
+static void print_man_foot(struct termp *, const void *);
static void print_bvspace(struct termp *,
const struct man_node *);
@@ -171,7 +169,7 @@ terminal_man(void *arg, const struct man *man)
n = man_node(man);
m = man_meta(man);
- print_man_head(p, m);
+ term_begin(p, print_man_head, print_man_foot, m);
p->flags |= TERMP_NOSPACE;
mt.fl = 0;
@@ -180,7 +178,8 @@ terminal_man(void *arg, const struct man *man)
if (n->child)
print_man_nodelist(p, &mt, n->child, m);
- print_man_foot(p, m);
+
+ term_end(p);
}
@@ -855,9 +854,12 @@ print_man_nodelist(DECL_ARGS)
static void
-print_man_foot(struct termp *p, const struct man_meta *meta)
+print_man_foot(struct termp *p, const void *arg)
{
char buf[DATESIZ];
+ const struct man_meta *meta;
+
+ meta = (const struct man_meta *)arg;
term_fontrepl(p, TERMFONT_NONE);
@@ -891,10 +893,13 @@ print_man_foot(struct termp *p, const struct man_meta *meta)
static void
-print_man_head(struct termp *p, const struct man_meta *m)
+print_man_head(struct termp *p, const void *arg)
{
char buf[BUFSIZ], title[BUFSIZ];
size_t buflen, titlen;
+ const struct man_meta *m;
+
+ m = (const struct man_meta *)arg;
/*
* Note that old groff would spit out some spaces before the