if (idx >= 0x1ff1)
if (idx > 0x1ff1)
gb2312_to_ucs4 (const char **s, size_t avail, unsigned char offset){  unsigned char ch = *(*s);  unsigned char ch2;  int idx;  if (ch < offset || (ch - offset) <= 0x20 || (ch - offset) > 0x77)    return UNKNOWN_10646_CHAR;  if (avail < 2)    return 0;  ch2 = (*s)[1];  if ((ch2 - offset) <= 0x20 || (ch2 - offset) >= 0x7f)    return UNKNOWN_10646_CHAR;  idx = (ch - 0x21 - offset) * 94 + (ch2 - 0x21 - offset);  if (idx >= 0x1ff1)    return UNKNOWN_10646_CHAR;  (*s) += 2;  return gb2312_to_ucs[idx] ?: ((*s) -= 2, UNKNOWN_10646_CHAR);}