mirror of
https://github.com/fluencelabs/redis
synced 2025-06-13 01:01:22 +00:00
Geo: output 10 chars of geohash, not 11.
This does not limit the actual precision, because the last digit bits were garbage, and the shift value became even negative in the last iteration.
This commit is contained in:
@ -734,14 +734,14 @@ void geohashCommand(client *c) {
|
||||
r[1].max = 90;
|
||||
geohashEncode(&r[0],&r[1],xy[0],xy[1],26,&hash);
|
||||
|
||||
char buf[12];
|
||||
char buf[11];
|
||||
int i;
|
||||
for (i = 0; i < 11; i++) {
|
||||
for (i = 0; i < 10; i++) {
|
||||
int idx = (hash.bits >> (52-((i+1)*5))) & 0x1f;
|
||||
buf[i] = geoalphabet[idx];
|
||||
}
|
||||
buf[11] = '\0';
|
||||
addReplyBulkCBuffer(c,buf,11);
|
||||
buf[10] = '\0';
|
||||
addReplyBulkCBuffer(c,buf,10);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user