version 1.155, 2015/04/18 17:01:58 |
version 1.157, 2015/04/18 17:53:21 |
Line 49 const char *const __man_macronames[MAN_MAX] = { |
|
Line 49 const char *const __man_macronames[MAN_MAX] = { |
|
|
|
const char * const *man_macronames = __man_macronames; |
const char * const *man_macronames = __man_macronames; |
|
|
static void man_alloc1(struct roff_man *); |
|
static void man_breakscope(struct roff_man *, int); |
static void man_breakscope(struct roff_man *, int); |
static void man_descope(struct roff_man *, int, int); |
static void man_descope(struct roff_man *, int, int); |
static void man_free1(struct roff_man *); |
|
static struct roff_node *man_node_alloc(struct roff_man *, int, int, |
static struct roff_node *man_node_alloc(struct roff_man *, int, int, |
enum roff_type, int); |
enum roff_type, int); |
static void man_node_append(struct roff_man *, |
static void man_node_append(struct roff_man *, |
Line 64 static int man_ptext(struct roff_man *, int, char *, |
|
Line 62 static int man_ptext(struct roff_man *, int, char *, |
|
static int man_pmacro(struct roff_man *, int, char *, int); |
static int man_pmacro(struct roff_man *, int, char *, int); |
|
|
|
|
const struct roff_node * |
|
man_node(const struct roff_man *man) |
|
{ |
|
|
|
return(man->first); |
|
} |
|
|
|
const struct roff_meta * |
|
man_meta(const struct roff_man *man) |
|
{ |
|
|
|
return(&man->meta); |
|
} |
|
|
|
void |
void |
man_reset(struct roff_man *man) |
|
{ |
|
|
|
man_free1(man); |
|
man_alloc1(man); |
|
} |
|
|
|
void |
|
man_free(struct roff_man *man) |
|
{ |
|
|
|
man_free1(man); |
|
free(man); |
|
} |
|
|
|
struct roff_man * |
|
man_alloc(struct roff *roff, struct mparse *parse, |
|
const char *defos, int quick) |
|
{ |
|
struct roff_man *p; |
|
|
|
p = mandoc_calloc(1, sizeof(*p)); |
|
p->parse = parse; |
|
p->defos = defos; |
|
p->quick = quick; |
|
p->roff = roff; |
|
|
|
man_alloc1(p); |
|
return(p); |
|
} |
|
|
|
void |
|
man_endparse(struct roff_man *man) |
man_endparse(struct roff_man *man) |
{ |
{ |
|
|
Line 128 man_parseln(struct roff_man *man, int ln, char *buf, i |
|
Line 80 man_parseln(struct roff_man *man, int ln, char *buf, i |
|
man_pmacro(man, ln, buf, offs) : |
man_pmacro(man, ln, buf, offs) : |
man_ptext(man, ln, buf, offs)); |
man_ptext(man, ln, buf, offs)); |
} |
} |
|
|
static void |
|
man_free1(struct roff_man *man) |
|
{ |
|
|
|
if (man->first) |
|
man_node_delete(man, man->first); |
|
free(man->meta.title); |
|
free(man->meta.os); |
|
free(man->meta.date); |
|
free(man->meta.vol); |
|
free(man->meta.msec); |
|
} |
|
|
|
static void |
|
man_alloc1(struct roff_man *man) |
|
{ |
|
|
|
memset(&man->meta, 0, sizeof(man->meta)); |
|
man->macroset = MACROSET_MAN; |
|
man->flags = 0; |
|
man->last = mandoc_calloc(1, sizeof(*man->last)); |
|
man->first = man->last; |
|
man->last->type = ROFFT_ROOT; |
|
man->last->tok = MAN_MAX; |
|
man->next = ROFF_NEXT_CHILD; |
|
} |
|
|
|
|
|
static void |
static void |
man_node_append(struct roff_man *man, struct roff_node *p) |
man_node_append(struct roff_man *man, struct roff_node *p) |