diff options
author | Steven R. Loomis <srloomis@us.ibm.com> | 2018-03-26 15:29:02 -0700 |
---|---|---|
committer | Steven R. Loomis <srloomis@us.ibm.com> | 2018-04-02 18:18:28 -0700 |
commit | 64211405dab824a570e52d000891c49415cc42b8 (patch) | |
tree | 4c196d0e2c19e083db1e124139dd4ba6272fd049 /deps/icu-small/source/i18n/measfmt.cpp | |
parent | 88773af540a36b23a47af0d6c4ce03b8cc3ef9aa (diff) | |
download | android-node-v8-64211405dab824a570e52d000891c49415cc42b8.tar.gz android-node-v8-64211405dab824a570e52d000891c49415cc42b8.tar.bz2 android-node-v8-64211405dab824a570e52d000891c49415cc42b8.zip |
deps: ICU 61.1 bump
- Update to released ICU 61.1, including:
- CLDR 33 (many new languages and data improvements)
- Many small API additions, improvements, and bug fixes
- note: 'icu::' namespace is no longer used by default
(Necessated https://github.com/nodejs/node/pull/18667 )
PR-URL: https://github.com/nodejs/node/pull/19621
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'deps/icu-small/source/i18n/measfmt.cpp')
-rw-r--r-- | deps/icu-small/source/i18n/measfmt.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/deps/icu-small/source/i18n/measfmt.cpp b/deps/icu-small/source/i18n/measfmt.cpp index 628c8f8992..996a20c2e0 100644 --- a/deps/icu-small/source/i18n/measfmt.cpp +++ b/deps/icu-small/source/i18n/measfmt.cpp @@ -764,10 +764,11 @@ UnicodeString &MeasureFormat::formatMeasurePerUnit( if (U_FAILURE(status)) { return appendTo; } - MeasureUnit *resolvedUnit = - MeasureUnit::resolveUnitPerUnit(measure.getUnit(), perUnit); - if (resolvedUnit != NULL) { - Measure newMeasure(measure.getNumber(), resolvedUnit, status); + bool isResolved = false; + MeasureUnit resolvedUnit = + MeasureUnit::resolveUnitPerUnit(measure.getUnit(), perUnit, &isResolved); + if (isResolved) { + Measure newMeasure(measure.getNumber(), new MeasureUnit(resolvedUnit), status); return formatMeasure( newMeasure, **numberFormat, appendTo, pos, status); } @@ -1061,9 +1062,13 @@ UnicodeString &MeasureFormat::formatNumeric( } // Format time. draft becomes something like '5:30:45' + // #13606: DateFormat is not thread-safe, but MeasureFormat advertises itself as thread-safe. FieldPosition smallestFieldPosition(smallestField); UnicodeString draft; + static UMutex dateFmtMutex = U_MUTEX_INITIALIZER; + umtx_lock(&dateFmtMutex); dateFmt.format(date, draft, smallestFieldPosition, status); + umtx_unlock(&dateFmtMutex); // If we find field for smallest amount replace it with the formatted // smallest amount from above taking care to replace the integer part |