summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Marcos P. Santos <tmpsantos@gmail.com>2020-02-13 19:18:47 +0200
committerThiago Marcos P. Santos <tmpsantos@gmail.com>2020-02-14 14:31:28 +0200
commit99c5d24f26200a89f26276aaa6ce73dbf8735c5a (patch)
tree0b0865690841797eebb76f131c163e5dc692d1a4
parentd3535f1ca9f7c12b3c2290da3f347e4f95210425 (diff)
downloadqtlocation-mapboxgl-upstream/tmpsantos-icu_compat.tar.gz
[default] Build a no-op number formatter for old ICUsupstream/tmpsantos-icu_compat
This has been causing too many build problems and it is a major source of complains because of different ICU interfaces.
-rw-r--r--platform/default/src/mbgl/i18n/number_format.cpp23
1 files changed, 10 insertions, 13 deletions
diff --git a/platform/default/src/mbgl/i18n/number_format.cpp b/platform/default/src/mbgl/i18n/number_format.cpp
index ded4495202..74f091c5f0 100644
--- a/platform/default/src/mbgl/i18n/number_format.cpp
+++ b/platform/default/src/mbgl/i18n/number_format.cpp
@@ -1,10 +1,14 @@
+#if U_ICU_VERSION_MAJOR_NUM >= 62
#include <mbgl/i18n/number_format.hpp>
-
#include <unicode/numberformatter.h>
+#endif
+
+#include <string>
namespace mbgl {
namespace platform {
+#if U_ICU_VERSION_MAJOR_NUM >= 62
std::string formatNumber(double number,
const std::string& localeId,
const std::string& currency,
@@ -22,28 +26,21 @@ std::string formatNumber(double number,
.unit(icu::CurrencyUnit(ucurrency.getBuffer(), status))
.locale(locale)
.formatDouble(number, status)
-#if U_ICU_VERSION_MAJOR_NUM >= 62
.toString(status);
-#else
- .toString();
-#endif
} else {
ustr = icu::number::NumberFormatter::with()
-#if U_ICU_VERSION_MAJOR_NUM >= 62
.precision(icu::number::Precision::minMaxFraction(minFractionDigits, maxFractionDigits))
-#else
- .rounding(icu::number::Rounder::minMaxFraction(minFractionDigits, maxFractionDigits))
-#endif
.locale(locale)
.formatDouble(number, status)
-#if U_ICU_VERSION_MAJOR_NUM >= 62
.toString(status);
-#else
- .toString();
-#endif
}
return ustr.toUTF8String(formatted);
}
+#else
+std::string formatNumber(double number, const std::string&, const std::string&, uint8_t, uint8_t) {
+ return std::to_string(number);
+}
+#endif
} // namespace platform
} // namespace mbgl