208 (
const codes_t *array,
int high,
unsigned short code)
218 for (; low <= high; mid = (low + high) >> 1)
220 if ((array[mid].code <= code) && (array[mid + 1].
code > code))
222 if (0 == array[mid].peer)
227 tmp = ((code & 0xff00) - (array[mid].code & 0xff00)) >> 8;
228 high = code & 0x00ff;
229 low = array[mid].
code & 0x00ff;
240 distance = tmp * 0x9d + high - low +
241 (high >= 0xa1 ? (low >= 0xa1 ? 0 : -0x22)
242 : (low >= 0xa1 ? +0x22 : 0));
252 tmp = (array[mid].
peer & 0x00ff) + distance - 0x21;
253 tmp = (array[mid].
peer & 0xff00) + ((tmp / 0x5e) << 8)
260 tmp = ((code & 0xff00) - (array[mid].code & 0xff00)) >> 8;
266 distance = tmp * 0x5e
267 + ((
int) (code & 0x00ff) - (
int) (array[mid].code & 0x00ff));
273 low = array[mid].
peer & 0x00ff;
274 tmp = low + distance - (low >= 0xa1 ? 0x62 : 0x40);
276 tmp = (array[mid].
peer & 0xff00) + ((tmp / 0x9d) << 8)
277 + (low > 0x3e ? 0x62 : 0x40) + low;
281 else if (array[mid].code > code)