version 1.205, 2014/03/23 15:14:50 |
version 1.209, 2014/04/15 00:41:09 |
Line 304 static const struct valids mdoc_valids[MDOC_MAX] = { |
|
Line 304 static const struct valids mdoc_valids[MDOC_MAX] = { |
|
{ NULL, posts_sp }, /* sp */ |
{ NULL, posts_sp }, /* sp */ |
{ NULL, posts_text1 }, /* %U */ |
{ NULL, posts_text1 }, /* %U */ |
{ NULL, NULL }, /* Ta */ |
{ NULL, NULL }, /* Ta */ |
|
{ NULL, NULL }, /* ll */ |
}; |
}; |
|
|
#define RSORD_MAX 14 /* Number of `Rs' blocks. */ |
#define RSORD_MAX 14 /* Number of `Rs' blocks. */ |
Line 331 static const char * const secnames[SEC__MAX] = { |
|
Line 332 static const char * const secnames[SEC__MAX] = { |
|
"LIBRARY", |
"LIBRARY", |
"SYNOPSIS", |
"SYNOPSIS", |
"DESCRIPTION", |
"DESCRIPTION", |
|
"CONTEXT", |
"IMPLEMENTATION NOTES", |
"IMPLEMENTATION NOTES", |
"RETURN VALUES", |
"RETURN VALUES", |
"ENVIRONMENT", |
"ENVIRONMENT", |
|
|
post_sh_head(POST_ARGS) |
post_sh_head(POST_ARGS) |
{ |
{ |
struct mdoc_node *n; |
struct mdoc_node *n; |
const char *secname; |
char *secname; |
enum mdoc_sec sec; |
enum mdoc_sec sec; |
|
|
/* |
/* |
Line 1960 post_sh_head(POST_ARGS) |
|
Line 1962 post_sh_head(POST_ARGS) |
|
|
|
secname = NULL; |
secname = NULL; |
sec = SEC_CUSTOM; |
sec = SEC_CUSTOM; |
n = mdoc->last; |
mdoc_deroff(&secname, mdoc->last); |
if (n->child) { |
sec = NULL == secname ? SEC_CUSTOM : a2sec(secname); |
assert(1 == n->nchild); |
|
n = n->child; |
|
assert(NULL != n); |
|
assert(MDOC_TEXT == n->type); |
|
secname = n->string; |
|
sec = a2sec(secname); |
|
} |
|
|
|
/* The NAME should be first. */ |
/* The NAME should be first. */ |
|
|
Line 2005 post_sh_head(POST_ARGS) |
|
Line 2000 post_sh_head(POST_ARGS) |
|
|
|
/* We don't care about custom sections after this. */ |
/* We don't care about custom sections after this. */ |
|
|
if (SEC_CUSTOM == sec) |
if (SEC_CUSTOM == sec) { |
|
free(secname); |
return(1); |
return(1); |
|
} |
|
|
/* |
/* |
* Check whether our non-custom section is being repeated or is |
* Check whether our non-custom section is being repeated or is |
Line 2028 post_sh_head(POST_ARGS) |
|
Line 2025 post_sh_head(POST_ARGS) |
|
assert(mdoc->meta.msec); |
assert(mdoc->meta.msec); |
|
|
switch (sec) { |
switch (sec) { |
case (SEC_RETURN_VALUES): |
|
/* FALLTHROUGH */ |
|
case (SEC_ERRORS): |
case (SEC_ERRORS): |
|
if (*mdoc->meta.msec == '4') |
|
break; |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
|
case (SEC_RETURN_VALUES): |
|
/* FALLTHROUGH */ |
case (SEC_LIBRARY): |
case (SEC_LIBRARY): |
if (*mdoc->meta.msec == '2') |
if (*mdoc->meta.msec == '2') |
break; |
break; |
if (*mdoc->meta.msec == '3') |
if (*mdoc->meta.msec == '3') |
break; |
break; |
|
/* FALLTHROUGH */ |
|
case (SEC_CONTEXT): |
if (*mdoc->meta.msec == '9') |
if (*mdoc->meta.msec == '9') |
break; |
break; |
mandoc_msg(MANDOCERR_SECMSEC, mdoc->parse, |
mandoc_msg(MANDOCERR_SECMSEC, mdoc->parse, |
Line 2046 post_sh_head(POST_ARGS) |
|
Line 2047 post_sh_head(POST_ARGS) |
|
break; |
break; |
} |
} |
|
|
|
free(secname); |
return(1); |
return(1); |
} |
} |
|
|