From 5479e59aa93a01effc4da758fc7e509bfd0e5b5a Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Thu, 17 Nov 2016 10:11:59 -0800 Subject: [PATCH] Save another byte in features that have no metadata --- serial.cpp | 4 +++- tile.cpp | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/serial.cpp b/serial.cpp index 6d13b8c1..c3b66490 100644 --- a/serial.cpp +++ b/serial.cpp @@ -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()); diff --git a/tile.cpp b/tile.cpp index fcd2ead6..3b782d03 100644 --- a/tile.cpp +++ b/tile.cpp @@ -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 metakeys, metavals;