Save another byte in features that have no metadata

This commit is contained in:
Eric Fischer 2016-11-17 10:11:59 -08:00
parent 439b544c8c
commit 5479e59aa9
2 changed files with 7 additions and 3 deletions

View File

@ -212,7 +212,9 @@ void serialize_feature(FILE *geomfile, serial_feature *sf, long long *geompos, c
}
serialize_int(geomfile, sf->m, geompos, fname);
serialize_long_long(geomfile, sf->metapos, geompos, fname);
if (sf->m != 0) {
serialize_long_long(geomfile, sf->metapos, geompos, fname);
}
if (sf->metapos < 0 && sf->m != sf->keys.size()) {
fprintf(stderr, "Internal error: %lld doesn't match %lld\n", (long long) sf->m, (long long) sf->keys.size());

View File

@ -1337,10 +1337,12 @@ long long write_tile(FILE *geoms, long long *geompos_in, char *metabase, char *s
deserialize_long_long_io(geoms, &extent, geompos_in);
}
long long metastart;
long long metastart = 0;
int m;
deserialize_int_io(geoms, &m, geompos_in);
deserialize_long_long_io(geoms, &metastart, geompos_in);
if (m != 0) {
deserialize_long_long_io(geoms, &metastart, geompos_in);
}
char *meta = NULL;
std::vector<long long> metakeys, metavals;