git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk/navit@639
ffa7fe5e-494d-0410-b361-
a75ebd5db220
while (t->pos_attr < t->pos_next) {
size=*(t->pos_attr++);
type=t->pos_attr[0];
while (t->pos_attr < t->pos_next) {
size=*(t->pos_attr++);
type=t->pos_attr[0];
+ if (type == attr_street_name || type == attr_street_name_systematic)
+ type = attr_label;
if (type == attr_type || attr_type == attr_any) {
if (attr_type == attr_any) {
dbg(0,"pos %p attr %s size %d\n", t->pos_attr-1, attr_to_name(type), size);
if (type == attr_type || attr_type == attr_any) {
if (attr_type == attr_any) {
dbg(0,"pos %p attr %s size %d\n", t->pos_attr-1, attr_to_name(type), size);
};
char label_attr_buffer[1024];
};
char label_attr_buffer[1024];
+struct attr_bin street_name_attr = {
+ 0, attr_street_name
+};
+char street_name_attr_buffer[1024];
+
+struct attr_bin street_name_systematic_attr = {
+ 0, attr_street_name_systematic
+};
+char street_name_systematic_attr_buffer[1024];
+
struct attr_bin debug_attr = {
0, attr_debug
};
struct attr_bin debug_attr = {
0, attr_debug
};
if (! strcmp(k,"note"))
level=5;
if (! strcmp(k,"name")) {
if (! strcmp(k,"note"))
level=5;
if (! strcmp(k,"name")) {
+ if (in_way) {
+ strcpy(street_name_attr_buffer, v);
+ pad_text_attr(&street_name_attr, street_name_attr_buffer);
+ } else {
strcpy(label_attr_buffer, v);
pad_text_attr(&label_attr, label_attr_buffer);
strcpy(label_attr_buffer, v);
pad_text_attr(&label_attr, label_attr_buffer);
level=5;
}
if (! strcmp(k,"ref")) {
level=5;
}
if (! strcmp(k,"ref")) {
+ if (in_way) {
+ strcpy(street_name_systematic_attr_buffer, v);
+ pad_text_attr(&street_name_systematic_attr, street_name_systematic_attr_buffer);
+ }
level=5;
}
if (! strcmp(k,"is_in")) {
level=5;
}
if (! strcmp(k,"is_in")) {
node_is_tagged=0;
nodeid=id;
item.type=type_point_unkn;
node_is_tagged=0;
nodeid=id;
item.type=type_point_unkn;
debug_attr.len=0;
sprintf(debug_attr_buffer,"nodeid=%d", nodeid);
ni=(struct node_item *)(node_buffer.base+node_buffer.size);
debug_attr.len=0;
sprintf(debug_attr_buffer,"nodeid=%d", nodeid);
ni=(struct node_item *)(node_buffer.base+node_buffer.size);
wayid=id;
coord_count=0;
item.type=type_street_unkn;
wayid=id;
coord_count=0;
item.type=type_street_unkn;
+ street_name_attr.len=0;
+ street_name_systematic_attr.len=0;
debug_attr.len=0;
flags_attr.len=0;
sprintf(debug_attr_buffer,"wayid=%d", wayid);
debug_attr.len=0;
flags_attr.len=0;
sprintf(debug_attr_buffer,"wayid=%d", wayid);
g_hash_table_insert(dedupe_ways_hash, (gpointer)wayid, (gpointer)1);
}
pad_text_attr(&debug_attr, debug_attr_buffer);
g_hash_table_insert(dedupe_ways_hash, (gpointer)wayid, (gpointer)1);
}
pad_text_attr(&debug_attr, debug_attr_buffer);
- if (label_attr.len)
- alen+=label_attr.len+1;
+ if (street_name_attr.len)
+ alen+=street_name_attr.len+1;
+ if (street_name_systematic_attr.len)
+ alen+=street_name_systematic_attr.len+1;
if (debug_attr.len)
alen+=debug_attr.len+1;
if (flags_attr.len)
if (debug_attr.len)
alen+=debug_attr.len+1;
if (flags_attr.len)
item.len=item.clen+2+alen;
fwrite(&item, sizeof(item), 1, out);
fwrite(coord_buffer, coord_count*sizeof(struct coord), 1, out);
item.len=item.clen+2+alen;
fwrite(&item, sizeof(item), 1, out);
fwrite(coord_buffer, coord_count*sizeof(struct coord), 1, out);
- write_attr(out, &label_attr, label_attr_buffer);
+ write_attr(out, &street_name_attr, street_name_attr_buffer);
+ write_attr(out, &street_name_systematic_attr, street_name_systematic_attr_buffer);
write_attr(out, &debug_attr, debug_attr_buffer);
write_attr(out, &flags_attr, &flags_attr_value);
}
write_attr(out, &debug_attr, debug_attr_buffer);
write_attr(out, &flags_attr, &flags_attr_value);
}