version 1.18, 2012/07/08 15:00:43 |
version 1.19, 2012/07/08 15:46:47 |
|
|
static int outflags; |
static int outflags; |
#define MMAN_spc (1 << 0) |
#define MMAN_spc (1 << 0) |
#define MMAN_nl (1 << 1) |
#define MMAN_nl (1 << 1) |
#define MMAN_Sm (1 << 2) |
#define MMAN_br (1 << 2) |
#define MMAN_Bk (1 << 3) |
#define MMAN_sp (1 << 3) |
|
#define MMAN_Sm (1 << 4) |
|
#define MMAN_Bk (1 << 5) |
|
|
static void |
static void |
print_word(const char *s) |
print_word(const char *s) |
{ |
{ |
|
|
if (MMAN_nl & outflags) { |
if ((MMAN_sp | MMAN_br | MMAN_nl) & outflags) { |
/* |
/* |
* If we need a newline, print it now and start afresh. |
* If we need a newline, print it now and start afresh. |
*/ |
*/ |
putchar('\n'); |
if (MMAN_sp & outflags) |
outflags &= ~(MMAN_nl|MMAN_spc); |
printf("\n.sp\n"); |
|
else if (MMAN_br & outflags) |
|
printf("\n.br\n"); |
|
else if (MMAN_nl & outflags) |
|
putchar('\n'); |
|
outflags &= ~(MMAN_sp|MMAN_br|MMAN_nl|MMAN_spc); |
} else if (MMAN_spc & outflags && '\0' != s[0]) |
} else if (MMAN_spc & outflags && '\0' != s[0]) |
/* |
/* |
* If we need a space, only print it before |
* If we need a space, only print it before |
|
|
pre_bd(DECL_ARGS) |
pre_bd(DECL_ARGS) |
{ |
{ |
|
|
if (0 == n->norm->Bd.comp) { |
if (0 == n->norm->Bd.comp) |
outflags |= MMAN_nl; |
outflags |= MMAN_sp; |
print_word(".sp"); |
|
} |
|
if (DISP_unfilled == n->norm->Bd.type || |
if (DISP_unfilled == n->norm->Bd.type || |
DISP_literal == n->norm->Bd.type) { |
DISP_literal == n->norm->Bd.type) { |
outflags |= MMAN_nl; |
outflags |= MMAN_nl; |
|
|
pre_br(DECL_ARGS) |
pre_br(DECL_ARGS) |
{ |
{ |
|
|
outflags |= MMAN_nl; |
outflags |= MMAN_br; |
print_word(".br"); |
|
outflags |= MMAN_nl; |
|
return(0); |
return(0); |
} |
} |
|
|
|
|
if (NULL == n) |
if (NULL == n) |
return(0); |
return(0); |
|
|
if (MDOC_SYNPRETTY & n->flags) { |
if (MDOC_SYNPRETTY & n->flags) |
outflags |= MMAN_nl; |
outflags |= MMAN_br; |
print_word(".br"); |
|
outflags |= MMAN_nl; |
|
} |
|
print_word("\\fB"); |
print_word("\\fB"); |
outflags &= ~MMAN_spc; |
outflags &= ~MMAN_spc; |
print_node(m, n); |
print_node(m, n); |
|
|
print_word(")"); |
print_word(")"); |
if (MDOC_SYNPRETTY & n->flags) { |
if (MDOC_SYNPRETTY & n->flags) { |
print_word(";"); |
print_word(";"); |
outflags |= MMAN_nl; |
outflags |= MMAN_br; |
print_word(".br"); |
|
outflags |= MMAN_nl; |
|
} |
} |
} |
} |
|
|
|
|
|
|
switch (n->type) { |
switch (n->type) { |
case (MDOC_HEAD): |
case (MDOC_HEAD): |
if (MDOC_SYNPRETTY & n->flags) { |
if (MDOC_SYNPRETTY & n->flags) |
outflags |= MMAN_nl; |
outflags |= MMAN_br; |
print_word(".br"); |
|
outflags |= MMAN_nl; |
|
} |
|
print_word("\\fB"); |
print_word("\\fB"); |
outflags &= ~MMAN_spc; |
outflags &= ~MMAN_spc; |
break; |
break; |
|
|
{ |
{ |
|
|
if (MDOC_SYNPRETTY & n->flags) { |
if (MDOC_SYNPRETTY & n->flags) { |
outflags |= MMAN_nl; |
outflags |= MMAN_br; |
print_word(".br"); |
|
outflags |= MMAN_nl; |
|
print_word("\\fB#include <"); |
print_word("\\fB#include <"); |
} else |
} else |
print_word("<\\fI"); |
print_word("<\\fI"); |
|
|
outflags &= ~MMAN_spc; |
outflags &= ~MMAN_spc; |
if (MDOC_SYNPRETTY & n->flags) { |
if (MDOC_SYNPRETTY & n->flags) { |
print_word(">\\fP"); |
print_word(">\\fP"); |
outflags |= MMAN_nl; |
outflags |= MMAN_br; |
print_word(".br"); |
|
outflags |= MMAN_nl; |
|
} else |
} else |
print_word("\\fP>"); |
print_word("\\fP>"); |
} |
} |
|
|
post_lb(DECL_ARGS) |
post_lb(DECL_ARGS) |
{ |
{ |
|
|
if (SEC_LIBRARY == n->sec) { |
if (SEC_LIBRARY == n->sec) |
outflags |= MMAN_nl; |
outflags |= MMAN_br; |
print_word(".br"); |
|
outflags |= MMAN_nl; |
|
} |
|
} |
} |
|
|
static int |
static int |
|
|
|
|
if (MDOC_ELEM != n->type && MDOC_HEAD != n->type) |
if (MDOC_ELEM != n->type && MDOC_HEAD != n->type) |
return(1); |
return(1); |
if (MDOC_SYNPRETTY & n->flags) { |
if (MDOC_SYNPRETTY & n->flags) |
outflags |= MMAN_nl; |
outflags |= MMAN_br; |
print_word(".br"); |
|
outflags |= MMAN_nl; |
|
} |
|
print_word("\\fB"); |
print_word("\\fB"); |
outflags &= ~MMAN_spc; |
outflags &= ~MMAN_spc; |
if (NULL == n->child) |
if (NULL == n->child) |
|
|
default: |
default: |
return(0); |
return(0); |
} |
} |
outflags |= MMAN_nl; |
outflags |= MMAN_br; |
print_word(".br"); |
|
outflags |= MMAN_nl; |
|
} |
} |
print_word("\\fI"); |
print_word("\\fI"); |
outflags &= ~MMAN_spc; |
outflags &= ~MMAN_spc; |
|
|
|
|
outflags &= ~MMAN_spc; |
outflags &= ~MMAN_spc; |
print_word("\\fP"); |
print_word("\\fP"); |
if (MDOC_SYNPRETTY & n->flags) { |
if (MDOC_SYNPRETTY & n->flags) |
outflags |= MMAN_nl; |
outflags |= MMAN_br; |
print_word(".br"); |
|
outflags |= MMAN_nl; |
|
} |
|
} |
} |
|
|
static int |
static int |