version 1.53, 2010/04/06 11:33:00 |
version 1.57, 2010/05/14 16:02:29 |
|
|
|
|
static int concat(struct mdoc *, char *, |
static int concat(struct mdoc *, char *, |
const struct mdoc_node *, size_t); |
const struct mdoc_node *, size_t); |
static inline int order_rs(int); |
static inline int order_rs(enum mdoct); |
|
|
static int post_ar(POST_ARGS); |
static int post_ar(POST_ARGS); |
static int post_at(POST_ARGS); |
static int post_at(POST_ARGS); |
Line 196 static const struct actions mdoc_actions[MDOC_MAX] = { |
|
Line 196 static const struct actions mdoc_actions[MDOC_MAX] = { |
|
|
|
#define RSORD_MAX 14 |
#define RSORD_MAX 14 |
|
|
static const int rsord[RSORD_MAX] = { |
static const enum mdoct rsord[RSORD_MAX] = { |
MDOC__A, |
MDOC__A, |
MDOC__T, |
MDOC__T, |
MDOC__B, |
MDOC__B, |
Line 366 post_st(POST_ARGS) |
|
Line 366 post_st(POST_ARGS) |
|
|
|
assert(MDOC_TEXT == n->child->type); |
assert(MDOC_TEXT == n->child->type); |
p = mdoc_a2st(n->child->string); |
p = mdoc_a2st(n->child->string); |
assert(p); |
if (p != NULL) { |
free(n->child->string); |
free(n->child->string); |
n->child->string = mandoc_strdup(p); |
n->child->string = mandoc_strdup(p); |
|
} |
return(1); |
return(1); |
} |
} |
|
|
Line 381 post_st(POST_ARGS) |
|
Line 382 post_st(POST_ARGS) |
|
static int |
static int |
post_at(POST_ARGS) |
post_at(POST_ARGS) |
{ |
{ |
struct mdoc_node *nn; |
struct mdoc_node *nn; |
const char *p; |
const char *p, *q; |
|
char *buf; |
|
size_t sz; |
|
|
if (n->child) { |
if (n->child) { |
assert(MDOC_TEXT == n->child->type); |
assert(MDOC_TEXT == n->child->type); |
p = mdoc_a2att(n->child->string); |
p = mdoc_a2att(n->child->string); |
assert(p); |
if (p) { |
free(n->child->string); |
free(n->child->string); |
n->child->string = mandoc_strdup(p); |
n->child->string = mandoc_strdup(p); |
|
} else { |
|
p = "AT&T UNIX "; |
|
q = n->child->string; |
|
sz = strlen(p) + strlen(q) + 1; |
|
buf = mandoc_malloc(sz); |
|
strlcpy(buf, p, sz); |
|
strlcat(buf, q, sz); |
|
free(n->child->string); |
|
n->child->string = buf; |
|
} |
return(1); |
return(1); |
} |
} |
|
|
Line 419 post_sh(POST_ARGS) |
|
Line 432 post_sh(POST_ARGS) |
|
|
|
if ( ! concat(m, buf, n->child, BUFSIZ)) |
if ( ! concat(m, buf, n->child, BUFSIZ)) |
return(0); |
return(0); |
sec = mdoc_atosec(buf); |
sec = mdoc_str2sec(buf); |
/* |
/* |
* The first section should always make us move into a non-new |
* The first section should always make us move into a non-new |
* state. |
* state. |
Line 945 post_display(POST_ARGS) |
|
Line 958 post_display(POST_ARGS) |
|
|
|
|
|
static inline int |
static inline int |
order_rs(int t) |
order_rs(enum mdoct t) |
{ |
{ |
int i; |
int i; |
|
|
for (i = 0; i < RSORD_MAX; i++) |
for (i = 0; i < (int)RSORD_MAX; i++) |
if (rsord[i] == t) |
if (rsord[i] == t) |
return(i); |
return(i); |
|
|