2023 |
g_assert(member); // osm_way_to_relation() broken? |
g_assert(member); // osm_way_to_relation() broken? |
2024 |
|
|
2025 |
// Then flip its role if it's one of the direction-sensitive ones |
// Then flip its role if it's one of the direction-sensitive ones |
2026 |
if (strcasecmp(member->role, DS_ROUTE_FORWARD) == 0) { |
if (member->role == NULL) { |
2027 |
|
printf("null role in route relation -> ignore\n"); |
2028 |
|
} |
2029 |
|
else if (strcasecmp(member->role, DS_ROUTE_FORWARD) == 0) { |
2030 |
g_free(member->role); |
g_free(member->role); |
2031 |
member->role = g_strdup(DS_ROUTE_REVERSE); |
member->role = g_strdup(DS_ROUTE_REVERSE); |
2032 |
rel_chain->relation->flags |= OSM_FLAG_DIRTY; |
rel_chain->relation->flags |= OSM_FLAG_DIRTY; |
2221 |
return num; |
return num; |
2222 |
} |
} |
2223 |
|
|
2224 |
|
void osm_object_set_flags(object_t *object, int set, int clr) { |
2225 |
|
|
2226 |
|
switch(object->type) { |
2227 |
|
case NODE: |
2228 |
|
object->node->flags |= set; |
2229 |
|
object->node->flags &= ~clr; |
2230 |
|
break; |
2231 |
|
|
2232 |
|
case WAY: |
2233 |
|
object->way->flags |= set; |
2234 |
|
object->way->flags &= ~clr; |
2235 |
|
break; |
2236 |
|
|
2237 |
|
case RELATION: |
2238 |
|
object->relation->flags |= set; |
2239 |
|
object->relation->flags &= ~clr; |
2240 |
|
break; |
2241 |
|
|
2242 |
|
default: |
2243 |
|
g_assert(0); |
2244 |
|
break; |
2245 |
|
} |
2246 |
|
} |
2247 |
|
|
2248 |
// vim:et:ts=8:sw=2:sts=2:ai |
// vim:et:ts=8:sw=2:sts=2:ai |