mirror of https://github.com/redis/redis.git
				
				
				
			Merge pull request #1093 from july2993/unstable
in 32bit machine, popcount don't work with a input string length up to 5...
This commit is contained in:
		
						commit
						c1ae7d2377
					
				| 
						 | 
				
			
			@ -58,8 +58,8 @@ static int getBitOffsetFromArgument(redisClient *c, robj *o, size_t *offset) {
 | 
			
		|||
/* Count number of bits set in the binary array pointed by 's' and long
 | 
			
		||||
 * 'count' bytes. The implementation of this function is required to
 | 
			
		||||
 * work with a input string length up to 512 MB. */
 | 
			
		||||
long popcount(void *s, long count) {
 | 
			
		||||
    long bits = 0;
 | 
			
		||||
long long popcount(void *s, long count) {
 | 
			
		||||
    long long bits = 0;
 | 
			
		||||
    unsigned char *p;
 | 
			
		||||
    uint32_t *p4 = s;
 | 
			
		||||
    static const unsigned char bitsinbyte[256] = {0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -984,7 +984,7 @@ long long mstime(void);
 | 
			
		|||
void getRandomHexChars(char *p, unsigned int len);
 | 
			
		||||
uint64_t crc64(uint64_t crc, const unsigned char *s, uint64_t l);
 | 
			
		||||
void exitFromChild(int retcode);
 | 
			
		||||
long popcount(void *s, long count);
 | 
			
		||||
long long popcount(void *s, long count);
 | 
			
		||||
void redisSetProcTitle(char *title);
 | 
			
		||||
 | 
			
		||||
/* networking.c -- Networking and Client related operations */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue