summaryrefslogtreecommitdiff
path: root/platform/default
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-03-05 01:58:34 +0200
commitdc510e44c085e87233b628a995b6957ad9c0ab9b (patch)
tree745e20e4c2b9291aa7a6aad8c4391920782cdbe3 /platform/default
parentfb0c7c93a0f82cae603edc29e7e9a56024ed2b39 (diff)
downloadqtlocation-mapboxgl-dc510e44c085e87233b628a995b6957ad9c0ab9b.tar.gz
[default] Build a no-op number formatter for old ICUs
This has been causing too many build problems and it is a major source of complains because of different ICU interfaces.
Diffstat (limited to 'platform/default')
-rw-r--r--platform/default/src/mbgl/i18n/number_format.cpp23
1 files changed, 11 insertions, 12 deletions
diff --git a/platform/default/src/mbgl/i18n/number_format.cpp b/platform/default/src/mbgl/i18n/number_format.cpp
index ded4495202..6a975926d7 100644
--- a/platform/default/src/mbgl/i18n/number_format.cpp
+++ b/platform/default/src/mbgl/i18n/number_format.cpp
@@ -1,10 +1,16 @@
#include <mbgl/i18n/number_format.hpp>
+#if !defined(MBGL_USE_BUILTIN_ICU)
#include <unicode/numberformatter.h>
+#include <unicode/uvernum.h>
+#endif
+
+#include <string>
namespace mbgl {
namespace platform {
+#if !defined(MBGL_USE_BUILTIN_ICU)
std::string formatNumber(double number,
const std::string& localeId,
const std::string& currency,
@@ -22,28 +28,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