version 1.2, 2009/03/25 21:46:24 |
version 1.7, 2009/04/05 16:34:22 |
Line 35 struct man_valid { |
|
Line 35 struct man_valid { |
|
v_post *posts; |
v_post *posts; |
}; |
}; |
|
|
static int count(POSTARGS); |
static int count(const struct man_node *); |
static int check_eq0(POSTARGS); |
static int check_eq0(POSTARGS); |
static int check_ge1(POSTARGS); |
static int check_ge1(POSTARGS); |
static int check_ge2(POSTARGS); |
static int check_ge2(POSTARGS); |
Line 54 static const struct man_valid man_valids[MAN_MAX] = { |
|
Line 54 static const struct man_valid man_valids[MAN_MAX] = { |
|
{ posts_ge2_le5 }, /* TH */ |
{ posts_ge2_le5 }, /* TH */ |
{ posts_ge1 }, /* SH */ |
{ posts_ge1 }, /* SH */ |
{ posts_ge1 }, /* SS */ |
{ posts_ge1 }, /* SS */ |
{ posts_le1 }, /* TP */ |
{ NULL }, /* TP */ |
{ posts_eq0 }, /* LP */ |
{ posts_eq0 }, /* LP */ |
{ posts_eq0 }, /* PP */ |
{ posts_eq0 }, /* PP */ |
{ posts_eq0 }, /* P */ |
{ posts_eq0 }, /* P */ |
Line 70 static const struct man_valid man_valids[MAN_MAX] = { |
|
Line 70 static const struct man_valid man_valids[MAN_MAX] = { |
|
{ NULL }, /* B */ |
{ NULL }, /* B */ |
{ NULL }, /* I */ |
{ NULL }, /* I */ |
{ NULL }, /* IR */ |
{ NULL }, /* IR */ |
|
{ NULL }, /* RI */ |
|
{ posts_eq0 }, /* br */ |
|
{ posts_eq0 }, /* na */ |
|
{ NULL }, /* i */ |
}; |
}; |
|
|
|
|
Line 102 man_valid_post(struct man *m) |
|
Line 106 man_valid_post(struct man *m) |
|
|
|
|
|
static inline int |
static inline int |
count(POSTARGS) |
count(const struct man_node *n) |
{ |
{ |
int i; |
int i; |
|
|
|
|
check_##name(POSTARGS) \ |
check_##name(POSTARGS) \ |
{ \ |
{ \ |
int c; \ |
int c; \ |
if ((c = count(m, n->child)) ineq (x)) \ |
if ((c = count(n->child)) ineq (x)) \ |
return(1); \ |
return(1); \ |
return(man_vwarn(m, n->line, n->pos, \ |
return(man_verr(m, n->line, n->pos, \ |
"expected line arguments %s %d, have %d", \ |
"expected line arguments %s %d, have %d", \ |
#ineq, (x), c)); \ |
#ineq, (x), c)); \ |
} |
} |