const int CHANNEL_NUMBER_OFFSET = 256; int low, high, mid;
const unsigned CHANNEL_NUMBER_OFFSET = 256; unsigned low, high, mid;
static int alloc_channel_id(void) {    const int CHANNEL_NUMBER_OFFSET = 256;    int low, high, mid;    int tsize;    struct ssh_channel *c;    /*     * First-fit allocation of channel numbers: always pick the     * lowest unused one. To do this, binary-search using the     * counted B-tree to find the largest channel ID which is in a     * contiguous sequence from the beginning. (Precisely     * everything in that sequence must have ID equal to its tree     * index plus CHANNEL_NUMBER_OFFSET.)     */    tsize = count234(ssh_channels);    low = -1; high = tsize;    while (high - low > 1) {	mid = (high + low) / 2;	c = index234(ssh_channels, mid);	if (c->localid == mid + CHANNEL_NUMBER_OFFSET)	    low = mid;		       /* this one is fine */	else	    high = mid;		       /* this one is past it */    }    /*     * Now low points to either -1, or the tree index of the     * largest ID in the initial sequence.     */    {	unsigned i = low + 1 + CHANNEL_NUMBER_OFFSET;	assert(NULL == find234(ssh_channels, &i, ssh_channelfind));    }    return low + 1 + CHANNEL_NUMBER_OFFSET;}