Ticket #361: osm2navit.c.diff

File osm2navit.c.diff, 2.0 KB (added by Stressedpiper, 12 years ago)
  • osm2navit.c

     
    13781378        def_flags=item_get_default_flags(item.type);
    13791379        if (def_flags) {
    13801380                flags_attr_value=(*def_flags | flags[0] | flags[1]) & ~flags[2];
    1381                 if (flags_attr_value != def_flags) {
     1381                if (flags_attr_value != *def_flags) {
    13821382                        flags_attr.len=2;
    13831383                        alen+=flags_attr.len+1;
    13841384                }
     
    14161416        if (osmid_attr_value == 368279467) {
    14171417                fprintf(stderr,"%s\n", attr_strings[attr_string_label]);
    14181418        }
    1419         item_bin_add_attr_string(item_bin, item_is_town(item) ? attr_town_name : attr_label, attr_strings[attr_string_label]);
     1419        item_bin_add_attr_string(item_bin, item_is_town(*item_bin) ? attr_town_name : attr_label, attr_strings[attr_string_label]);
    14201420        item_bin_add_attr_string(item_bin, attr_house_number, attr_strings[attr_string_house_number]);
    14211421        item_bin_add_attr_string(item_bin, attr_street_name, attr_strings[attr_string_street_name]);
    14221422        item_bin_add_attr_string(item_bin, attr_phone, attr_strings[attr_string_phone]);
     
    14261426        item_bin_add_attr_longlong(item_bin, attr_osm_nodeid, osmid_attr_value);
    14271427        item_bin_add_attr_string(item_bin, attr_debug, debug_attr_buffer);
    14281428        item_bin_write(item_bin,out);
    1429         if (item_is_town(item) && town_name_attr.len) {
     1429        if (item_is_town(*item_bin) && attr_strings[attr_string_label]) {
    14301430                char *tok,*buf=is_in_buffer;
    14311431                while ((tok=strtok(buf, ","))) {
    14321432                        while (*tok==' ')
     
    14481448                                g_free(name);
    14491449                        }
    14501450                        if (result->file) {
    1451                                 item.clen=2;
    1452                                 item.len=item.clen+2+label_attr.len+1;
    1453                                 fwrite(&item, sizeof(item), 1, result->file);
    1454                                 fwrite(&ni->c, 1*sizeof(struct coord), 1, result->file);
    1455                                 write_attr(result->file, &town_name_attr, label_attr_buffer);
     1451                                item_bin_init(&item, item_bin->type);
     1452                                item_bin_add_coord(&item, &ni->c, 1);
     1453                                item_bin_add_attr_string(&item, attr_town_name, attr_strings[attr_string_label]);
     1454                                fwrite(&item, (item.len+1)*4, 1, result->file);
    14561455                        }
    14571456                       
    14581457                }