version 1.244, 2017/05/30 19:29:31 |
version 1.245, 2017/05/31 15:30:12 |
|
|
|
|
static int build_list(struct roff_man *, int); |
static int build_list(struct roff_man *, int); |
static void check_text(struct roff_man *, int, int, char *); |
static void check_text(struct roff_man *, int, int, char *); |
|
static void check_bsd(struct roff_man *, int, int, char *); |
static void check_argv(struct roff_man *, |
static void check_argv(struct roff_man *, |
struct roff_node *, struct mdoc_argv *); |
struct roff_node *, struct mdoc_argv *); |
static void check_args(struct roff_man *, struct roff_node *); |
static void check_args(struct roff_man *, struct roff_node *); |
|
|
if (n->sec != SEC_SYNOPSIS || |
if (n->sec != SEC_SYNOPSIS || |
(n->parent->tok != MDOC_Cd && n->parent->tok != MDOC_Fd)) |
(n->parent->tok != MDOC_Cd && n->parent->tok != MDOC_Fd)) |
check_text(mdoc, n->line, n->pos, n->string); |
check_text(mdoc, n->line, n->pos, n->string); |
|
if (n->parent->tok == MDOC_Sh || |
|
n->parent->tok == MDOC_Ss || |
|
n->parent->tok == MDOC_It) |
|
check_bsd(mdoc, n->line, n->pos, n->string); |
break; |
break; |
case ROFFT_EQN: |
case ROFFT_EQN: |
case ROFFT_TBL: |
case ROFFT_TBL: |
|
|
} |
} |
|
|
static void |
static void |
|
check_bsd(struct roff_man *mdoc, int ln, int pos, char *p) |
|
{ |
|
const char *cp; |
|
|
|
if ((cp = strstr(p, "OpenBSD")) != NULL) |
|
mandoc_msg(MANDOCERR_BX, mdoc->parse, |
|
ln, pos + (cp - p), "Ox"); |
|
if ((cp = strstr(p, "NetBSD")) != NULL) |
|
mandoc_msg(MANDOCERR_BX, mdoc->parse, |
|
ln, pos + (cp - p), "Nx"); |
|
if ((cp = strstr(p, "FreeBSD")) != NULL) |
|
mandoc_msg(MANDOCERR_BX, mdoc->parse, |
|
ln, pos + (cp - p), "Fx"); |
|
if ((cp = strstr(p, "DragonFly")) != NULL) |
|
mandoc_msg(MANDOCERR_BX, mdoc->parse, |
|
ln, pos + (cp - p), "Dx"); |
|
} |
|
|
|
static void |
post_bl_norm(POST_ARGS) |
post_bl_norm(POST_ARGS) |
{ |
{ |
struct roff_node *n; |
struct roff_node *n; |
|
|
post_bx(POST_ARGS) |
post_bx(POST_ARGS) |
{ |
{ |
struct roff_node *n, *nch; |
struct roff_node *n, *nch; |
|
const char *macro; |
|
|
n = mdoc->last; |
n = mdoc->last; |
nch = n->child; |
nch = n->child; |
|
|
if (nch != NULL) { |
if (nch != NULL) { |
|
macro = !strcmp(nch->string, "Open") ? "Ox" : |
|
!strcmp(nch->string, "Net") ? "Nx" : |
|
!strcmp(nch->string, "Free") ? "Fx" : |
|
!strcmp(nch->string, "DragonFly") ? "Dx" : NULL; |
|
if (macro != NULL) |
|
mandoc_msg(MANDOCERR_BX, mdoc->parse, |
|
n->line, n->pos, macro); |
mdoc->last = nch; |
mdoc->last = nch; |
nch = nch->next; |
nch = nch->next; |
mdoc->next = ROFF_NEXT_SIBLING; |
mdoc->next = ROFF_NEXT_SIBLING; |