Deleted Added
full compact
28c28
< * $Id: parse.y,v 1.11 1998/12/06 22:58:17 archie Exp $
---
> * $Id: parse.y,v 1.12 1999/02/12 20:39:05 ache Exp $
88a89,92
> if (strlen($2) > 1)
> yyerror("Only characters can be substituted, not strings");
> if (ch == '\0')
> yyerror("NUL character can't be substituted");
96c100
< int ch;
---
> int ch, substed, ordered;
98,102c102,105
< for (ch = 0; ch < UCHAR_MAX + 1; ch++)
< if ( !__collate_char_pri_table[ch].prim
< && __collate_substitute_table[ch][0] == ch
< && __collate_substitute_table[ch][1] == '\0'
< )
---
> for (ch = 0; ch < UCHAR_MAX + 1; ch++) {
> substed = (__collate_substitute_table[ch][0] != ch);
> ordered = !!__collate_char_pri_table[ch].prim;
> if (!ordered && !substed)
103a107,109
> if (substed && ordered)
> yyerror("Char 0x%02x can't be ordered since substituted", ch);
> }