version 1.20, 2011/07/21 23:30:39 |
version 1.21, 2011/07/21 23:42:28 |
Line 259 eqn_box(struct eqn_node *ep, struct eqn_box *last) |
|
Line 259 eqn_box(struct eqn_node *ep, struct eqn_box *last) |
|
EQN_MSG(MANDOCERR_EQNSYNT, ep); |
EQN_MSG(MANDOCERR_EQNSYNT, ep); |
return(EQN_ERR); |
return(EQN_ERR); |
} |
} |
if (EQN_DESCOPE != (c = eqn_eqn(ep, last))) { |
|
if (EQN_ERR != c) |
while (EQN_DESCOPE == (c = eqn_eqn(ep, last))) { |
EQN_MSG(MANDOCERR_EQNSCOPE, ep); |
assert(last->last); |
return(EQN_ERR); |
last->last->pile = (enum eqn_pilet)i; |
|
eqn_rewind(ep); |
|
start = eqn_nexttok(ep, &sz); |
|
assert(start); |
|
if (5 != sz || strncmp("above", start, 5)) |
|
break; |
|
last->last->above = 1; |
} |
} |
assert(last->last); |
|
last->last->pile = (enum eqn_pilet)i; |
if (EQN_DESCOPE != c) { |
eqn_rewind(ep); |
|
start = eqn_nexttok(ep, &sz); |
|
assert(start); |
|
if (1 == sz && 0 == strncmp("}", start, 1)) |
|
return(EQN_OK); |
|
if (5 != sz || strncmp("above", start, 5)) { |
|
EQN_MSG(MANDOCERR_EQNSYNT, ep); |
|
return(EQN_ERR); |
|
} |
|
last->last->above = 1; |
|
if (EQN_DESCOPE != (c = eqn_eqn(ep, last))) { |
|
if (EQN_ERR != c) |
if (EQN_ERR != c) |
EQN_MSG(MANDOCERR_EQNSCOPE, ep); |
EQN_MSG(MANDOCERR_EQNSCOPE, ep); |
return(EQN_ERR); |
return(EQN_ERR); |
} |
} |
|
|
eqn_rewind(ep); |
eqn_rewind(ep); |
start = eqn_nexttok(ep, &sz); |
start = eqn_nexttok(ep, &sz); |
assert(start); |
assert(start); |
if (1 == sz && 0 == strncmp("}", start, 1)) |
if (1 == sz && 0 == strncmp("}", start, 1)) |
return(EQN_OK); |
return(EQN_OK); |
|
|
EQN_MSG(MANDOCERR_EQNBADSCOPE, ep); |
EQN_MSG(MANDOCERR_EQNBADSCOPE, ep); |
return(EQN_ERR); |
return(EQN_ERR); |
} |
} |