* The blocked() function checks on the combining class values of previous * characters in this sequence and return whether it is blocked or not. */
| 1029 | * characters in this sequence and return whether it is blocked or not. |
| 1030 | */ |
| 1031 | static boolean_t |
| 1032 | blocked(uchar_t *comb_class, size_t last) |
| 1033 | { |
| 1034 | uchar_t my_comb_class; |
| 1035 | size_t i; |
| 1036 | |
| 1037 | my_comb_class = comb_class[last]; |
| 1038 | for (i = 1; i < last; i++) |
| 1039 | if (comb_class[i] >= my_comb_class || |
| 1040 | comb_class[i] == U8_COMBINING_CLASS_STARTER) |
| 1041 | return (B_TRUE); |
| 1042 | |
| 1043 | return (B_FALSE); |
| 1044 | } |
| 1045 | |
| 1046 | /* |
| 1047 | * The do_composition() reads the character string pointed by 's' and |