we want navit's town search to find them
*/
#define item_is_town(item) ((item).type >= type_town_label && (item).type <= type_district_label_1e7)
-#define item_is_street(item) ((item).type >= type_street_nopass && (item).type <= type_ferry)
#define item_is_equal_id(a,b) ((a).id_hi == (b).id_hi && (a).id_lo == (b).id_lo)
#define item_is_equal(a,b) (item_is_equal_id(a,b) && (a).map == (b).map)
item.type=types[0];
else
item.type=type_street_unkn;
- if (coverage && item_is_street(item))
- item.type=type_coverage;
def_flags=item_get_default_flags(item.type);
if (def_flags) {
- flags_attr_value=(*def_flags | flags[0] | flags[1]) & ~flags[2];
- if (flags_attr_value != *def_flags) {
- flags_attr.len=2;
- alen+=flags_attr.len+1;
+ if (coverage) {
+ item.type=type_coverage;
+ } else {
+ flags_attr_value=(*def_flags | flags[0] | flags[1]) & ~flags[2];
+ if (flags_attr_value != *def_flags) {
+ flags_attr.len=2;
+ alen+=flags_attr.len+1;
+ }
}
}
item.clen=coord_count*2;
item.len=item.clen+2+alen;
fwrite(&item, sizeof(item), 1, out);
fwrite(coord_buffer, coord_count*sizeof(struct coord), 1, out);
- if (item_is_street(item)) {
+ if (def_flags) {
street_name_attr.len=label_attr.len;
write_attr(out, &street_name_attr, label_attr_buffer);
} else
fprintf(stderr,"ni=%p\n", ni);
#endif
c[i]=ni->c;
- if (ni->ref_way > 1 && i != 0 && i != ccount-1 && item_is_street(*ib)) {
+ if (ni->ref_way > 1 && i != 0 && i != ccount-1 && item_get_default_flags(ib->type)) {
write_item_part(out, out_graph, ib, last, i);
last=i;
}