version 1.15, 2009/06/17 14:10:09 |
version 1.17, 2009/06/27 09:03:03 |
|
|
WNOWIDTH, |
WNOWIDTH, |
WMISSWIDTH, |
WMISSWIDTH, |
WESCAPE, |
WESCAPE, |
WDEPESC, |
|
WDEPCOL, |
WDEPCOL, |
WWRONGMSEC, |
WWRONGMSEC, |
WSECOOO, |
WSECOOO, |
Line 99 static int err_child_gt(struct mdoc *, const char *, i |
|
Line 98 static int err_child_gt(struct mdoc *, const char *, i |
|
static int warn_child_gt(struct mdoc *, const char *, int); |
static int warn_child_gt(struct mdoc *, const char *, int); |
static int err_child_eq(struct mdoc *, const char *, int); |
static int err_child_eq(struct mdoc *, const char *, int); |
static int warn_child_eq(struct mdoc *, const char *, int); |
static int warn_child_eq(struct mdoc *, const char *, int); |
static int count_child(struct mdoc *); |
|
static int warn_print(struct mdoc *, int, int); |
static int warn_print(struct mdoc *, int, int); |
static int warn_count(struct mdoc *, const char *, |
static int warn_count(struct mdoc *, const char *, |
int, const char *, int); |
int, const char *, int); |
Line 487 pwarn(struct mdoc *m, int line, int pos, enum mwarn ty |
|
Line 485 pwarn(struct mdoc *m, int line, int pos, enum mwarn ty |
|
case (WESCAPE): |
case (WESCAPE): |
p = "invalid escape sequence"; |
p = "invalid escape sequence"; |
break; |
break; |
case (WDEPESC): |
|
p = "deprecated special-character escape"; |
|
break; |
|
case (WNOLINE): |
case (WNOLINE): |
p = "suggested no line arguments"; |
p = "suggested no line arguments"; |
break; |
break; |
Line 553 err_count(struct mdoc *m, const char *k, |
|
Line 548 err_count(struct mdoc *m, const char *k, |
|
} |
} |
|
|
|
|
static inline int |
|
count_child(struct mdoc *mdoc) |
|
{ |
|
int i; |
|
struct mdoc_node *n; |
|
|
|
for (i = 0, n = mdoc->last->child; n; n = n->next, i++) |
|
/* Do nothing */ ; |
|
|
|
return(i); |
|
} |
|
|
|
|
|
/* |
/* |
* Build these up with macros because they're basically the same check |
* Build these up with macros because they're basically the same check |
* for different inequalities. Yes, this could be done with functions, |
* for different inequalities. Yes, this could be done with functions, |
Line 576 count_child(struct mdoc *mdoc) |
|
Line 558 count_child(struct mdoc *mdoc) |
|
static int \ |
static int \ |
lvl##_child_##name(struct mdoc *mdoc, const char *p, int sz) \ |
lvl##_child_##name(struct mdoc *mdoc, const char *p, int sz) \ |
{ \ |
{ \ |
int i; \ |
if (mdoc->last->nchild ineq sz) \ |
if ((i = count_child(mdoc)) ineq sz) \ |
|
return(1); \ |
return(1); \ |
return(lvl##_count(mdoc, #ineq, sz, p, i)); \ |
return(lvl##_count(mdoc, #ineq, sz, p, mdoc->last->nchild)); \ |
} |
} |
|
|
#define CHECK_BODY_DEFN(name, lvl, func, num) \ |
#define CHECK_BODY_DEFN(name, lvl, func, num) \ |
Line 743 check_text(struct mdoc *mdoc, int line, int pos, const |
|
Line 724 check_text(struct mdoc *mdoc, int line, int pos, const |
|
|
|
c = mdoc_isescape(p); |
c = mdoc_isescape(p); |
if (c) { |
if (c) { |
/* See if form is deprecated. */ |
|
if ('*' == p[1]) |
|
if ( ! pwarn(mdoc, line, pos, WDEPESC)) |
|
return(0); |
|
p += (int)c - 1; |
p += (int)c - 1; |
continue; |
continue; |
} |
} |