Diff of /trunk/src/osm.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 195 by harbaum, Wed Jul 8 08:51:02 2009 UTC revision 234 by harbaum, Mon Jul 20 20:15:10 2009 UTC
# Line 1177  gboolean osm_node_has_tag(node_t *node) Line 1177  gboolean osm_node_has_tag(node_t *node)
1177    tag_t *tag = node->tag;    tag_t *tag = node->tag;
1178    
1179    /* created_by tags don't count as real tags */    /* created_by tags don't count as real tags */
1180    if(tag && strcasecmp(tag->key, "created_by") == 0)    if(tag && osm_is_creator_tag(tag))
1181      tag = tag->next;      tag = tag->next;
1182    
1183    return tag != NULL;    return tag != NULL;
# Line 2214  void osm_way_rotate(way_t *way, gint off Line 2214  void osm_way_rotate(way_t *way, gint off
2214    }    }
2215  }  }
2216    
2217  tag_t *osm_tags_copy(tag_t *src_tag, gboolean update_creator) {  tag_t *osm_tags_copy(tag_t *src_tag) {
2218    tag_t *new_tags = NULL;    tag_t *new_tags = NULL;
2219    tag_t **dst_tag = &new_tags;    tag_t **dst_tag = &new_tags;
2220    
2221    while(src_tag) {    while(src_tag) {
2222      *dst_tag = g_new0(tag_t, 1);      if(!osm_is_creator_tag(src_tag)) {
2223      (*dst_tag)->key = g_strdup(src_tag->key);        *dst_tag = g_new0(tag_t, 1);
2224      if(update_creator && (strcasecmp(src_tag->key, "created_by") == 0))        (*dst_tag)->key = g_strdup(src_tag->key);
       (*dst_tag)->value = g_strdup(PACKAGE " v" VERSION);  
     else  
2225        (*dst_tag)->value = g_strdup(src_tag->value);        (*dst_tag)->value = g_strdup(src_tag->value);
2226          dst_tag = &(*dst_tag)->next;
2227      dst_tag = &(*dst_tag)->next;      }
2228      src_tag = src_tag->next;      src_tag = src_tag->next;
2229    }    }
2230    
2231    return new_tags;    return new_tags;
2232  }  }
2233    

Legend:
Removed from v.195  
changed lines
  Added in v.234