assert (value >= ctype->last_class_char);  for (cnt = ctype->last_class_char + 1; cnt <= value; ++cnt) *find_idx (ctype, &ctype->class_collection, &ctype->class_collection_max, &ctype->class_collection_act, cnt) |= ctype->current_class_mask;
if ((wchar_t) ctype->last_class_char != ILLEGAL_CHAR_VALUE && (wchar_t) value != ILLEGAL_CHAR_VALUE) for (cnt = ctype->last_class_char + 1; cnt <= value; ++cnt) *find_idx (ctype, &ctype->class_collection, &ctype->class_collection_max, &ctype->class_collection_act, cnt) |= ctype->current_class_mask;
ctype_class_to (struct linereader *lr, struct localedef_t *locale,		struct token *code, struct charset_t *charset){  struct locale_ctype_t *ctype = locale->categories[LC_CTYPE].ctype;  unsigned int value, cnt;  value = charset_find_value (charset, code->val.str.start, code->val.str.len);  assert (value >= ctype->last_class_char);  for (cnt = ctype->last_class_char + 1; cnt <= value; ++cnt)    *find_idx (ctype, &ctype->class_collection, &ctype->class_collection_max,	       &ctype->class_collection_act, cnt)      |= ctype->current_class_mask;  ctype->last_class_char = ILLEGAL_CHAR_VALUE;}