diff --git a/serial.cpp b/serial.cpp index da447277..c50360cf 100644 --- a/serial.cpp +++ b/serial.cpp @@ -212,9 +212,9 @@ void serialize_feature(FILE *geomfile, serial_feature *sf, std::atomichas_tippecanoe_minzoom << FLAG_MINZOOM; layer |= sf->has_tippecanoe_maxzoom << FLAG_MAXZOOM; - serialize_ulong_long(geomfile, layer, geompos, fname); + serialize_long_long(geomfile, layer, geompos, fname); if (sf->seq != 0) { - serialize_ulong_long(geomfile, sf->seq, geompos, fname); + serialize_long_long(geomfile, sf->seq, geompos, fname); } if (sf->has_tippecanoe_minzoom) { serialize_int(geomfile, sf->tippecanoe_minzoom, geompos, fname); @@ -226,7 +226,7 @@ void serialize_feature(FILE *geomfile, serial_feature *sf, std::atomicid, geompos, fname); } - serialize_uint(geomfile, sf->segment, geompos, fname); + serialize_int(geomfile, sf->segment, geompos, fname); write_geometry(sf->geometry, geompos, geomfile, fname, wx, wy); serialize_byte(geomfile, VT_END, geompos, fname); @@ -237,14 +237,14 @@ void serialize_feature(FILE *geomfile, serial_feature *sf, std::atomiclabel_point, geompos, fname); } if (sf->extent != 0) { - serialize_ulong_long(geomfile, sf->extent, geompos, fname); + serialize_long_long(geomfile, sf->extent, geompos, fname); } - serialize_ulong_long(geomfile, sf->keys.size(), geompos, fname); + serialize_long_long(geomfile, sf->keys.size(), geompos, fname); for (size_t i = 0; i < sf->keys.size(); i++) { - serialize_ulong_long(geomfile, sf->keys[i], geompos, fname); - serialize_ulong_long(geomfile, sf->values[i], geompos, fname); + serialize_long_long(geomfile, sf->keys[i], geompos, fname); + serialize_long_long(geomfile, sf->values[i], geompos, fname); } if (include_minzoom) { @@ -260,11 +260,11 @@ serial_feature deserialize_feature(FILE *geoms, std::atomic *geompos_ return sf; } - deserialize_ulong_long_io(geoms, &sf.layer, geompos_in); + deserialize_long_long_io(geoms, &sf.layer, geompos_in); sf.seq = 0; if (sf.layer & (1 << FLAG_SEQ)) { - deserialize_ulong_long_io(geoms, &sf.seq, geompos_in); + deserialize_long_long_io(geoms, &sf.seq, geompos_in); } sf.tippecanoe_minzoom = -1; @@ -282,7 +282,7 @@ serial_feature deserialize_feature(FILE *geoms, std::atomic *geompos_ deserialize_ulong_long_io(geoms, &sf.id, geompos_in); } - deserialize_uint_io(geoms, &sf.segment, geompos_in); + deserialize_int_io(geoms, &sf.segment, geompos_in); sf.index = 0; sf.label_point = 0; @@ -296,18 +296,18 @@ serial_feature deserialize_feature(FILE *geoms, std::atomic *geompos_ deserialize_ulong_long_io(geoms, &sf.label_point, geompos_in); } if (sf.layer & (1 << FLAG_EXTENT)) { - deserialize_ulong_long_io(geoms, &sf.extent, geompos_in); + deserialize_long_long_io(geoms, &sf.extent, geompos_in); } sf.layer >>= FLAG_LAYER; - unsigned long long count; - deserialize_ulong_long_io(geoms, &count, geompos_in); + long long count; + deserialize_long_long_io(geoms, &count, geompos_in); - for (unsigned long long i = 0; i < count; i++) { - unsigned long long k, v; - deserialize_ulong_long_io(geoms, &k, geompos_in); - deserialize_ulong_long_io(geoms, &v, geompos_in); + for (long long i = 0; i < count; i++) { + long long k, v; + deserialize_long_long_io(geoms, &k, geompos_in); + deserialize_long_long_io(geoms, &v, geompos_in); sf.keys.push_back(k); sf.values.push_back(v); } diff --git a/serial.hpp b/serial.hpp index b7241c29..711d3fb5 100644 --- a/serial.hpp +++ b/serial.hpp @@ -38,9 +38,9 @@ struct serial_val { }; struct serial_feature { - unsigned long long layer = 0; - unsigned int segment = 0; - unsigned long long seq = 0; + long long layer = 0; + int segment = 0; + long long seq = 0; signed char t = 0; signed char feature_minzoom = 0; @@ -57,10 +57,10 @@ struct serial_feature { drawvec geometry = drawvec(); unsigned long long index = 0; unsigned long long label_point = 0; - unsigned long long extent = 0; + long long extent = 0; - std::vector keys{}; - std::vector values{}; + std::vector keys{}; + std::vector values{}; // XXX This isn't serialized. Should it be here? long long bbox[4] = {0, 0, 0, 0}; diff --git a/tile.cpp b/tile.cpp index f03f5ea5..14f74fee 100644 --- a/tile.cpp +++ b/tile.cpp @@ -79,13 +79,13 @@ bool draws_something(drawvec &geom) { return false; } -static int metacmp(const std::vector &keys1, const std::vector &values1, char *stringpool1, const std::vector &keys2, const std::vector &values2, char *stringpool2); +static int metacmp(const std::vector &keys1, const std::vector &values1, char *stringpool1, const std::vector &keys2, const std::vector &values2, char *stringpool2); int coalindexcmp(const struct coalesce *c1, const struct coalesce *c2); struct coalesce { char *stringpool = NULL; - std::vector keys; - std::vector values; + std::vector keys = std::vector(); + std::vector values = std::vector(); std::vector full_keys = std::vector(); std::vector full_values = std::vector(); drawvec geom = drawvec(); @@ -201,7 +201,7 @@ mvt_value retrieve_string(long long off, const char *stringpool, int *otype) { return stringified_to_mvt_value(type, s); } -void decode_meta(std::vector const &metakeys, std::vector const &metavals, char *stringpool, mvt_layer &layer, mvt_feature &feature) { +void decode_meta(std::vector const &metakeys, std::vector const &metavals, char *stringpool, mvt_layer &layer, mvt_feature &feature) { size_t i; for (i = 0; i < metakeys.size(); i++) { int otype; @@ -212,7 +212,7 @@ void decode_meta(std::vector const &metakeys, std::vector &keys1, const std::vector &values1, char *stringpool1, const std::vector &keys2, const std::vector &values2, char *stringpool2) { +static int metacmp(const std::vector &keys1, const std::vector &values1, char *stringpool1, const std::vector &keys2, const std::vector &values2, char *stringpool2) { size_t i; for (i = 0; i < keys1.size() && i < keys2.size(); i++) { mvt_value key1 = retrieve_string(keys1[i], stringpool1, NULL); @@ -258,8 +258,8 @@ static mvt_value find_attribute_value(const struct coalesce *c1, std::string key return v; } - const std::vector &keys1 = c1->keys; - const std::vector &values1 = c1->values; + const std::vector &keys1 = c1->keys; + const std::vector &values1 = c1->values; const char *stringpool1 = c1->stringpool; for (size_t i = 0; i < keys1.size(); i++) { @@ -324,7 +324,7 @@ struct ordercmp { } } ordercmp; -void rewrite(drawvec &geom, int z, int nextzoom, int maxzoom, long long *bbox, unsigned tx, unsigned ty, int buffer, int *within, std::atomic *geompos, FILE **geomfile, const char *fname, signed char t, int layer, signed char feature_minzoom, int child_shards, int max_zoom_increment, unsigned long long seq, int tippecanoe_minzoom, int tippecanoe_maxzoom, int segment, unsigned *initial_x, unsigned *initial_y, std::vector &metakeys, std::vector &metavals, bool has_id, unsigned long long id, unsigned long long index, unsigned long long label_point, unsigned long long extent) { +void rewrite(drawvec &geom, int z, int nextzoom, int maxzoom, long long *bbox, unsigned tx, unsigned ty, int buffer, int *within, std::atomic *geompos, FILE **geomfile, const char *fname, signed char t, int layer, signed char feature_minzoom, int child_shards, int max_zoom_increment, long long seq, int tippecanoe_minzoom, int tippecanoe_maxzoom, int segment, unsigned *initial_x, unsigned *initial_y, std::vector &metakeys, std::vector &metavals, bool has_id, unsigned long long id, unsigned long long index, unsigned long long label_point, long long extent) { if (geom.size() > 0 && (nextzoom <= maxzoom || additional[A_EXTEND_ZOOMS])) { int xo, yo; int span = 1 << (nextzoom - z); @@ -435,12 +435,12 @@ struct accum_state { }; struct partial { - std::vector geoms; - std::vector keys; - std::vector values; - std::vector full_keys; - std::vector full_values; - std::vector arc_polygon; + std::vector geoms = std::vector(); + std::vector keys = std::vector(); + std::vector values = std::vector(); + std::vector full_keys = std::vector(); + std::vector full_values = std::vector(); + std::vector arc_polygon = std::vector(); long long layer = 0; long long original_seq = 0; unsigned long long index = 0; @@ -1273,7 +1273,7 @@ unsigned long long choose_mingap(std::vector const &indices, return top; } -unsigned long long choose_minextent(std::vector &extents, double f) { +long long choose_minextent(std::vector &extents, double f) { std::sort(extents.begin(), extents.end()); return extents[(extents.size() - 1) * (1 - f)]; } @@ -1895,7 +1895,7 @@ long long write_tile(FILE *geoms, std::atomic *geompos_in, char *stri std::map> layers; std::vector indices; - std::vector extents; + std::vector extents; size_t extents_increment = 1; double coalesced_area = 0;