mercurial/thirdparty/xdiff/xutils.c
changeset 36825 f1ef0e53e628
parent 36823 49fe6249937a
equal deleted inserted replaced
36824:f0d9811dda8e 36825:f1ef0e53e628
   139 	*data = ptr < top ? ptr + 1: ptr;
   139 	*data = ptr < top ? ptr + 1: ptr;
   140 
   140 
   141 	return ha;
   141 	return ha;
   142 }
   142 }
   143 
   143 
   144 unsigned int xdl_hashbits(unsigned int size) {
   144 unsigned int xdl_hashbits(int64_t size) {
   145 	unsigned int val = 1, bits = 0;
   145 	int64_t val = 1;
       
   146 	unsigned int bits = 0;
   146 
   147 
   147 	for (; val < size && bits < CHAR_BIT * sizeof(unsigned int); val <<= 1, bits++);
   148 	for (; val < size && bits < (int64_t) CHAR_BIT * sizeof(unsigned int); val <<= 1, bits++);
   148 	return bits ? bits: 1;
   149 	return bits ? bits: 1;
   149 }
   150 }