From bae24455806ddc56fbf0187a3d628409c5c58995 Mon Sep 17 00:00:00 2001 From: vng Date: Fri, 4 Dec 2015 20:31:56 +0300 Subject: [PATCH] [search] Fixed bug when transforming street name to street key. --- search/reverse_geocoder.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/search/reverse_geocoder.cpp b/search/reverse_geocoder.cpp index 1fcf5fa3b5..3142e7c354 100644 --- a/search/reverse_geocoder.cpp +++ b/search/reverse_geocoder.cpp @@ -80,8 +80,9 @@ void ReverseGeocoder::GetNearbyStreets(FeatureType const & addrFt, string const string key; search::GetStreetNameAsKey(name, key); strings::UniString const uniKey2 = strings::MakeUniString(key); + /// @todo Transforming street name into street name key may produce empty strings. + //ASSERT(!uniKey2.empty(), ()); - ASSERT(!uniKey2.empty(), ()); return { strings::EditDistance(uniKey1.begin(), uniKey1.end(), uniKey2.begin(), uniKey2.end()), uniKey2.size() }; }, streets); @@ -99,6 +100,8 @@ size_t ReverseGeocoder::GetMatchedStreetIndex(vector const & streets) { if (streets[i].m_editDistance.first == 0) return i; + if (streets[i].m_editDistance.second == 0) + continue; size_t const p = streets[i].m_editDistance.first * 100 / streets[i].m_editDistance.second; if (p < minPercent)