Fix use of 32-bit zigzag encoding/decoding for 64-bit integers

This commit is contained in:
Eric Fischer 2016-10-14 15:47:54 -07:00
parent 1f38e85f30
commit eb1c64db27
2 changed files with 3 additions and 4 deletions

View File

@ -30,7 +30,6 @@ extern "C" {
#include "pool.hpp" #include "pool.hpp"
#include "projection.hpp" #include "projection.hpp"
#include "version.hpp"
#include "memfile.hpp" #include "memfile.hpp"
#include "main.hpp" #include "main.hpp"
#include "mbtiles.hpp" #include "mbtiles.hpp"

View File

@ -27,7 +27,7 @@ void serialize_int(FILE *out, int n, long long *fpos, const char *fname) {
} }
void serialize_long_long(FILE *out, long long n, long long *fpos, const char *fname) { void serialize_long_long(FILE *out, long long n, long long *fpos, const char *fname) {
unsigned long long zigzag = protozero::encode_zigzag32(n); unsigned long long zigzag = protozero::encode_zigzag64(n);
serialize_ulong_long(out, zigzag, fpos, fname); serialize_ulong_long(out, zigzag, fpos, fname);
} }
@ -73,7 +73,7 @@ void deserialize_int(char **f, int *n) {
void deserialize_long_long(char **f, long long *n) { void deserialize_long_long(char **f, long long *n) {
unsigned long long zigzag = 0; unsigned long long zigzag = 0;
deserialize_ulong_long(f, &zigzag); deserialize_ulong_long(f, &zigzag);
*n = protozero::decode_zigzag32(zigzag); *n = protozero::decode_zigzag64(zigzag);
} }
void deserialize_ulong_long(char **f, unsigned long long *zigzag) { void deserialize_ulong_long(char **f, unsigned long long *zigzag) {
@ -107,7 +107,7 @@ void deserialize_byte(char **f, signed char *n) {
int deserialize_long_long_io(FILE *f, long long *n, long long *geompos) { int deserialize_long_long_io(FILE *f, long long *n, long long *geompos) {
unsigned long long zigzag = 0; unsigned long long zigzag = 0;
int ret = deserialize_ulong_long_io(f, &zigzag, geompos); int ret = deserialize_ulong_long_io(f, &zigzag, geompos);
*n = protozero::decode_zigzag32(zigzag); *n = protozero::decode_zigzag64(zigzag);
return ret; return ret;
} }