diff --git a/map/place_page_info.cpp b/map/place_page_info.cpp index f1d2c4460b..2d5e30b1bf 100644 --- a/map/place_page_info.cpp +++ b/map/place_page_info.cpp @@ -10,6 +10,7 @@ namespace place_page char const * const Info::kSubtitleSeparator = " • "; char const * const Info::kStarSymbol = "★"; char const * const Info::kMountainSymbol = "▲"; +char const * const Info::kEmptyRatingSymbol = "-"; char const * const Info::kPricingSymbol = "$"; bool Info::IsFeature() const { return m_featureID.IsValid(); } @@ -122,11 +123,9 @@ string Info::GetRatingFormatted() const if (!IsSponsored()) return string(); - auto const rating = GetMetadata().Get(feature::Metadata::FMD_RATING); - if (rating.empty()) - return rating; - - int const size = snprintf(nullptr, 0, m_localizedRatingString.c_str(), rating.c_str()); + auto const r = GetMetadata().Get(feature::Metadata::FMD_RATING); + char const * rating = r.empty() ? kEmptyRatingSymbol : r.c_str(); + int const size = snprintf(nullptr, 0, m_localizedRatingString.c_str(), rating); if (size < 0) { LOG(LERROR, ("Incorrect size for string:", m_localizedRatingString, ", rating:", rating)); @@ -134,7 +133,7 @@ string Info::GetRatingFormatted() const } vector buf(size + 1); - snprintf(buf.data(), buf.size(), m_localizedRatingString.c_str(), rating.c_str()); + snprintf(buf.data(), buf.size(), m_localizedRatingString.c_str(), rating); return string(buf.begin(), buf.end()); } diff --git a/map/place_page_info.hpp b/map/place_page_info.hpp index db316b300b..29f9bc42be 100644 --- a/map/place_page_info.hpp +++ b/map/place_page_info.hpp @@ -30,6 +30,7 @@ public: static char const * const kSubtitleSeparator; static char const * const kStarSymbol; static char const * const kMountainSymbol; + static char const * const kEmptyRatingSymbol; static char const * const kPricingSymbol; bool IsFeature() const;