diff --git a/geojson.c b/geojson.c index 90e208b..64179a6 100644 --- a/geojson.c +++ b/geojson.c @@ -542,7 +542,8 @@ int read_json(FILE *f, const char *fname, const char *layername, int maxzoom, in long long geomstart = geompos; - serialize_int(geomfile, mb_geometry[t], &geompos, fname, jp); + serialize_byte(geomfile, mb_geometry[t], &geompos, fname, jp); + serialize_byte(geomfile, 0, &geompos, fname, jp); // XXX layer serialize_long_long(geomfile, metastart, &geompos, fname, jp); parse_geometry(t, coordinates, bbox, &geompos, geomfile, VT_MOVETO, fname, jp); serialize_byte(geomfile, VT_END, &geompos, fname, jp); @@ -809,7 +810,7 @@ int read_json(FILE *f, const char *fname, const char *layername, int maxzoom, in } /* end of tile */ - serialize_int(geomfile, -2, &geompos, fname, jp); + serialize_byte(geomfile, -2, &geompos, fname, jp); fclose(geomfile); } diff --git a/tile.cc b/tile.cc index 301b3b3..afb12ca 100644 --- a/tile.cc +++ b/tile.cc @@ -385,13 +385,14 @@ long long write_tile(char **geoms, char *metabase, unsigned *file_bbox, int z, u *geoms = og; while (1) { - int t; - deserialize_int(geoms, &t); + signed char t; + deserialize_byte(geoms, &t); if (t < 0) { break; } - int layer = 0; // XXX layer + signed char layer; + deserialize_byte(geoms, &layer); long long metastart; deserialize_long_long(geoms, &metastart); @@ -470,7 +471,8 @@ long long write_tile(char **geoms, char *metabase, unsigned *file_bbox, int z, u } //printf("type %d, meta %lld\n", t, metastart); - serialize_int(geomfile[j], t, &geompos[j], fname, jp); + serialize_byte(geomfile[j], t, &geompos[j], fname, jp); + serialize_byte(geomfile[j], layer, &geompos[j], fname, jp); serialize_long_long(geomfile[j], metastart, &geompos[j], fname, jp); for (unsigned u = 0; u < geom.size(); u++) { @@ -590,7 +592,7 @@ long long write_tile(char **geoms, char *metabase, unsigned *file_bbox, int z, u int j; for (j = 0; j < 4; j++) { if (within[j]) { - serialize_int(geomfile[j], -2, &geompos[j], fname, jp); + serialize_byte(geomfile[j], -2, &geompos[j], fname, jp); within[j] = 0; } }