// checks if a positions is on the same street as a segment static int check_same_street(const PluginLine *line, const RoadMapPosition *point_position) { const char *street_name; const char *city_name; char current_street_name[512]; char current_city_name[512]; int point_res; int square_current = roadmap_square_active (); get_street_from_line (line->square, line->line_id, &street_name, &city_name); strncpy_safe (current_street_name, street_name, sizeof (current_street_name)); strncpy_safe (current_city_name, city_name, sizeof (current_city_name)); point_res = get_street(point_position, &street_name, &city_name); roadmap_square_set_current (square_current); if (point_res == -1) return FALSE; if (strcmp (current_street_name, street_name) == 0 && strcmp (current_city_name, city_name) == 0) return TRUE; else return FALSE; }
void City::add_street(Street newStreet) { REQUIRE(properlyInitialized(), "city must be properly initialized"); get_street().push_back(newStreet); ENSURE(get_street().back() == newStreet, "new street must be added"); }