207 (
const codes_t *array,
int high,
unsigned short code)
217 for (; low <= high; mid = (low + high) >> 1)
219 if ((array[mid].code <= code) && (array[mid + 1].
code > code))
221 if (0 == array[mid].peer)
226 tmp = ((code & 0xff00) - (array[mid].code & 0xff00)) >> 8;
227 high = code & 0x00ff;
228 low = array[mid].
code & 0x00ff;
239 distance = tmp * 0x9d + high - low +
240 (high >= 0xa1 ? (low >= 0xa1 ? 0 : -0x22)
241 : (low >= 0xa1 ? +0x22 : 0));
251 tmp = (array[mid].
peer & 0x00ff) + distance - 0x21;
252 tmp = (array[mid].
peer & 0xff00) + ((tmp / 0x5e) << 8)
259 tmp = ((code & 0xff00) - (array[mid].code & 0xff00)) >> 8;
265 distance = tmp * 0x5e
266 + ((
int) (code & 0x00ff) - (
int) (array[mid].code & 0x00ff));
272 low = array[mid].
peer & 0x00ff;
273 tmp = low + distance - (low >= 0xa1 ? 0x62 : 0x40);
275 tmp = (array[mid].
peer & 0xff00) + ((tmp / 0x9d) << 8)
276 + (low > 0x3e ? 0x62 : 0x40) + low;
280 else if (array[mid].code > code)