diff --git a/geojson.c b/geojson.c index 46132ff0..d65d61c9 100644 --- a/geojson.c +++ b/geojson.c @@ -1,3 +1,7 @@ +#ifdef MTRACE + #include +#endif + #include #include #include @@ -1043,6 +1047,10 @@ int read_json(int argc, char **argv, char *fname, const char *layername, int max } int main(int argc, char **argv) { +#ifdef MTRACE + mtrace(); +#endif + extern int optind; extern char *optarg; int i; @@ -1190,5 +1198,10 @@ int main(int argc, char **argv) { ret = read_json(argc - optind, argv + optind, name ? name : outdir, layer, maxzoom, minzoom, outdb, &exclude, &include, exclude_all, droprate, buffer, tmpdir, gamma, prevent); mbtiles_close(outdb, argv); + +#ifdef MTRACE + muntrace(); +#endif + return ret; } diff --git a/tile.cc b/tile.cc index 0fba44f2..ff20b9c4 100644 --- a/tile.cc +++ b/tile.cc @@ -780,6 +780,12 @@ long long write_tile(char **geoms, char *metabase, char *stringpool, unsigned *f return count; } } else { + int i; + for (i = 0; i < nlayers; i++) { + pool_free(&keys1[i]); + pool_free(&values1[i]); + } + return count; } }