diff options
Diffstat (limited to 'navit/maptool/misc.c')
-rw-r--r-- | navit/maptool/misc.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/navit/maptool/misc.c b/navit/maptool/misc.c index 1c30b94f7..9b1c72da2 100644 --- a/navit/maptool/misc.c +++ b/navit/maptool/misc.c @@ -213,12 +213,20 @@ int item_order_by_type(enum item_type type) { return max; } +static inline int filter_unknown(struct item_bin * ib) { + if(ignore_unknown && (ib->type==type_point_unkn || ib->type==type_street_unkn || ib->type==type_none)) + return 1; + return 0; +} + static void phase34_process_file(struct tile_info *info, FILE *in, FILE *reference) { struct item_bin *ib; struct attr_bin *a; int max; while ((ib=read_item(in))) { + if(filter_unknown(ib)) + continue; if (ib->type < 0x80000000) processed_nodes++; else @@ -239,6 +247,8 @@ static void phase34_process_file_range(struct tile_info *info, FILE *in, FILE *r int min,max; while ((ib=read_item_range(in, &min, &max))) { + if(filter_unknown(ib)) + continue; if (ib->type < 0x80000000) processed_nodes++; else @@ -278,6 +288,8 @@ static int phase34(struct tile_info *info, struct zip_info *zip_info, FILE **in, void dump(FILE *in) { struct item_bin *ib; while ((ib=read_item(in))) { + if(filter_unknown(ib)) + continue; dump_itembin(ib); } } |