version 1.15, 2009/01/03 22:10:22 |
version 1.16, 2009/01/05 14:14:04 |
Line 141 const struct mdoc_macro __mdoc_macros[MDOC_MAX] = { |
|
Line 141 const struct mdoc_macro __mdoc_macros[MDOC_MAX] = { |
|
{ macro_scoped_line, MDOC_CALLABLE }, /* Aq */ |
{ macro_scoped_line, MDOC_CALLABLE }, /* Aq */ |
{ macro_constant, 0 }, /* At */ |
{ macro_constant, 0 }, /* At */ |
{ NULL, 0 }, /* Bc */ |
{ NULL, 0 }, /* Bc */ |
{ macro_scoped, 0 }, /* Bf */ |
{ macro_scoped, MDOC_EXPLICIT }, /* Bf */ |
{ NULL, 0 }, /* Bo */ |
{ NULL, 0 }, /* Bo */ |
{ macro_scoped_line, MDOC_CALLABLE }, /* Bq */ |
{ macro_scoped_line, MDOC_CALLABLE }, /* Bq */ |
{ macro_constant_delimited, 0 }, /* Bsx */ |
{ macro_constant_delimited, 0 }, /* Bsx */ |
Line 201 static struct mdoc_arg *argdup(size_t, const struct m |
|
Line 201 static struct mdoc_arg *argdup(size_t, const struct m |
|
static void argfree(size_t, struct mdoc_arg *); |
static void argfree(size_t, struct mdoc_arg *); |
static void argcpy(struct mdoc_arg *, |
static void argcpy(struct mdoc_arg *, |
const struct mdoc_arg *); |
const struct mdoc_arg *); |
static char **paramdup(size_t, const char **); |
|
static void paramfree(size_t, char **); |
|
|
|
static void mdoc_node_freelist(struct mdoc_node *); |
static void mdoc_node_freelist(struct mdoc_node *); |
static void mdoc_node_append(struct mdoc *, int, |
static void mdoc_node_append(struct mdoc *, int, |
|
|
mdoc_elem_free(struct mdoc_elem *p) |
mdoc_elem_free(struct mdoc_elem *p) |
{ |
{ |
|
|
paramfree(p->sz, p->args); |
|
argfree(p->argc, p->argv); |
argfree(p->argc, p->argv); |
} |
} |
|
|
Line 639 argdup(size_t argsz, const struct mdoc_arg *args) |
|
Line 636 argdup(size_t argsz, const struct mdoc_arg *args) |
|
return(pp); |
return(pp); |
} |
} |
|
|
|
|
static void |
|
paramfree(size_t sz, char **p) |
|
{ |
|
int i; |
|
|
|
if (0 == sz) |
|
return; |
|
|
|
assert(p); |
|
/* LINTED */ |
|
for (i = 0; i < (int)sz; i++) |
|
free(p[i]); |
|
free(p); |
|
} |
|
|
|
|
|
static char ** |
|
paramdup(size_t sz, const char **p) |
|
{ |
|
char **pp; |
|
int i; |
|
|
|
if (0 == sz) |
|
return(NULL); |
|
|
|
pp = xcalloc(sz, sizeof(char *)); |
|
for (i = 0; i < (int)sz; i++) |
|
pp[i] = xstrdup(p[i]); |
|
|
|
return(pp); |
|
} |
|