version 1.52, 2011/01/04 22:28:17 |
version 1.53, 2011/01/09 13:16:48 |
|
|
man_node(const struct man *m) |
man_node(const struct man *m) |
{ |
{ |
|
|
return(MAN_HALT & m->flags ? NULL : m->first); |
assert( ! (MAN_HALT & m->flags)); |
|
return(m->first); |
} |
} |
|
|
|
|
|
|
man_meta(const struct man *m) |
man_meta(const struct man *m) |
{ |
{ |
|
|
return(MAN_HALT & m->flags ? NULL : &m->meta); |
assert( ! (MAN_HALT & m->flags)); |
|
return(&m->meta); |
} |
} |
|
|
|
|
|
|
man_endparse(struct man *m) |
man_endparse(struct man *m) |
{ |
{ |
|
|
if (MAN_HALT & m->flags) |
assert( ! (MAN_HALT & m->flags)); |
return(0); |
if (man_macroend(m)) |
else if (man_macroend(m)) |
|
return(1); |
return(1); |
m->flags |= MAN_HALT; |
m->flags |= MAN_HALT; |
return(0); |
return(0); |
|
|
man_parseln(struct man *m, int ln, char *buf, int offs) |
man_parseln(struct man *m, int ln, char *buf, int offs) |
{ |
{ |
|
|
if (MAN_HALT & m->flags) |
assert( ! (MAN_HALT & m->flags)); |
return(0); |
|
|
|
return(('.' == buf[offs] || '\'' == buf[offs]) ? |
return(('.' == buf[offs] || '\'' == buf[offs]) ? |
man_pmacro(m, ln, buf, offs) : |
man_pmacro(m, ln, buf, offs) : |
man_ptext(m, ln, buf, offs)); |
man_ptext(m, ln, buf, offs)); |
|
|
man_addspan(struct man *m, const struct tbl_span *sp) |
man_addspan(struct man *m, const struct tbl_span *sp) |
{ |
{ |
|
|
|
assert( ! (MAN_HALT & m->flags)); |
if ( ! man_span_alloc(m, sp)) |
if ( ! man_span_alloc(m, sp)) |
return(0); |
return(0); |
return(man_descope(m, 0, 0)); |
return(man_descope(m, 0, 0)); |
|
|
} |
} |
|
|
|
|
int |
static int |
man_pmacro(struct man *m, int ln, char *buf, int offs) |
man_pmacro(struct man *m, int ln, char *buf, int offs) |
{ |
{ |
int i, j, ppos; |
int i, j, ppos; |