Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F142971332
D12318.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
21 KB
Referenced Files
None
Subscribers
None
D12318.diff
View Options
Index: devel/icu/Makefile
===================================================================
--- devel/icu/Makefile
+++ devel/icu/Makefile
@@ -2,8 +2,8 @@
# $FreeBSD$
PORTNAME= icu
-DISTVERSION= 58_2
-PORTREVISION?= 3 # keep for icu-lx
+DISTVERSION= 59_1
+PORTREVISION?= 0 # keep for icu-lx
PORTEPOCH?= 1
CATEGORIES?= devel
MASTER_SITES= http://download.icu-project.org/files/icu4c/${PORTVERSION}/
@@ -26,7 +26,7 @@
CPPFLAGS+= -DICU_NO_USER_DATA_OVERRIDE
MAKE_ARGS= VERBOSE=1
TEST_TARGET= check
-USES+= compiler:c++0x gmake pathfix tar:tgz
+USES+= compiler:c++11-lib gmake pathfix tar:tgz
USE_LDCONFIG= yes
WRKSRC= ${WRKDIR}/icu/source
Index: devel/icu/distinfo
===================================================================
--- devel/icu/distinfo
+++ devel/icu/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1481218489
-SHA256 (icu4c-58_2-src.tgz) = 2b0a4410153a9b20de0e20c7d8b66049a72aef244b53683d0d7521371683da0c
-SIZE (icu4c-58_2-src.tgz) = 23369902
+TIMESTAMP = 1491550830
+SHA256 (icu4c-59_1-src.tgz) = 7132fdaf9379429d004005217f10e00b7d2319d0fea22bdfddef8991c45b75fe
+SIZE (icu4c-59_1-src.tgz) = 22706578
Index: devel/icu/files/patch-common_unicode_platform.h
===================================================================
--- devel/icu/files/patch-common_unicode_platform.h
+++ devel/icu/files/patch-common_unicode_platform.h
@@ -1,6 +1,6 @@
---- common/unicode/platform.h.orig 2016-03-23 20:49:58 UTC
+--- common/unicode/platform.h.orig 2017-03-22 19:06:26 UTC
+++ common/unicode/platform.h
-@@ -379,8 +379,8 @@
+@@ -382,8 +382,8 @@
*/
#ifdef U_IS_BIG_ENDIAN
/* Use the predefined value. */
@@ -11,3 +11,21 @@
#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__)
/* gcc */
# define U_IS_BIG_ENDIAN (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
+@@ -498,11 +498,15 @@
+ # define U_CPLUSPLUS_VERSION 1
+ #endif
+
+-#if (U_PLATFORM == U_PF_AIX || U_PLATFORM == U_PF_OS390) && defined(__cplusplus) &&(U_CPLUSPLUS_VERSION < 11)
++#if defined(__cplusplus) && (U_CPLUSPLUS_VERSION < 11)
+ // add in std::nullptr_t
+ namespace std {
++#if (U_PLATFORM == U_PF_AIX || U_PLATFORM == U_PF_OS390)
+ typedef decltype(nullptr) nullptr_t;
+-};
++#elif defined(__GNUC__) && !defined(__clang__)
++ typedef __decltype(__null) nullptr_t;
++#endif
++}
+ #endif
+
+ /**
Index: devel/icu/files/patch-common_unicode_umachine.h
===================================================================
--- /dev/null
+++ devel/icu/files/patch-common_unicode_umachine.h
@@ -0,0 +1,11 @@
+--- common/unicode/umachine.h.orig 2017-03-16 19:01:12 UTC
++++ common/unicode/umachine.h
+@@ -295,7 +295,7 @@ typedef int8_t UBool;
+ * If 1, then char16_t is a typedef and not a real type (yet)
+ * @internal
+ */
+-#if (U_PLATFORM == U_PF_AIX) && defined(__cplusplus) &&(U_CPLUSPLUS_VERSION < 11)
++#if defined(__cplusplus) && (U_CPLUSPLUS_VERSION < 11)
+ // for AIX, uchar.h needs to be included
+ # include <uchar.h>
+ # define U_CHAR16_IS_TYPEDEF 1
Index: devel/icu/files/patch-common_unicode_unistr.h
===================================================================
--- /dev/null
+++ devel/icu/files/patch-common_unicode_unistr.h
@@ -0,0 +1,33 @@
+--- common/unicode/unistr.h.orig 2017-03-29 04:44:37 UTC
++++ common/unicode/unistr.h
+@@ -117,12 +117,20 @@ class UnicodeStringAppendable; // unicode/appendable.
+ * The string parameter must be a C string literal.
+ * The length of the string, not including the terminating
+ * <code>NUL</code>, must be specified as a constant.
++ * The U_STRING_DECL macro should be invoked exactly once for one
++ * such string variable before it is used.
+ * @stable ICU 2.0
+ */
+ #if !U_CHAR16_IS_TYPEDEF
+ # define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, u ## cs, _length)
++#elif defined(U_DECLARE_UTF16)
++# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, (const char16_t *)U_DECLARE_UTF16(cs), _length)
++#elif U_SIZEOF_WCHAR_T==U_SIZEOF_UCHAR && (U_CHARSET_FAMILY==U_ASCII_FAMILY || (U_SIZEOF_UCHAR == 2 && defined(U_WCHAR_IS_UTF16)))
++# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, (const char16_t *)L ## cs, _length)
++#elif U_SIZEOF_UCHAR==1 && U_CHARSET_FAMILY==U_ASCII_FAMILY
++# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, (const char16_t *)cs, _length)
+ #else
+-# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, (const char16_t*)u ## cs, _length)
++# define UNICODE_STRING(cs, _length) icu::UnicodeString(cs, _length, US_INV)
+ #endif
+
+ /**
+@@ -3985,7 +3993,7 @@ UnicodeString::isBufferWritable() const
+ inline const char16_t *
+ UnicodeString::getBuffer() const {
+ if(fUnion.fFields.fLengthAndFlags&(kIsBogus|kOpenGetBuffer)) {
+- return nullptr;
++ return NULL;
+ } else if(fUnion.fFields.fLengthAndFlags&kUsingStackBuffer) {
+ return fUnion.fStackFields.fBuffer;
+ } else {
Index: devel/icu/files/patch-common_unicode_uvernum.h
===================================================================
--- /dev/null
+++ devel/icu/files/patch-common_unicode_uvernum.h
@@ -0,0 +1,11 @@
+--- common/unicode/uvernum.h.orig 2017-03-21 01:03:49 UTC
++++ common/unicode/uvernum.h
+@@ -125,7 +125,7 @@
+ * This value will change in the subsequent releases of ICU
+ * @stable ICU 2.6
+ */
+-#if U_PLATFORM_HAS_WINUWP_API == 0
++#ifndef U_PLATFORM_HAS_WINUWP_API
+ #define U_ICU_VERSION_SHORT "59"
+ #else
+ // U_DISABLE_RENAMING does not impact dat file name
Index: devel/icu/files/patch-r39484
===================================================================
--- devel/icu/files/patch-r39484
+++ /dev/null
@@ -1,148 +0,0 @@
-https://ssl.icu-project.org/trac/ticket/12827
-
-Index: test/intltest/apicoll.h
-===================================================================
---- test/intltest/apicoll.h (revision 39483)
-+++ test/intltest/apicoll.h (revision 39484)
-@@ -35,6 +35,7 @@ class CollationAPITest: public IntlTestCollator {
- * - displayable name in the desired locale
- */
- void TestProperty(/* char* par */);
-+ void TestKeywordValues();
-
- /**
- * This tests the RuleBasedCollator
-Index: test/intltest/apicoll.cpp
-===================================================================
---- test/intltest/apicoll.cpp (revision 39483)
-+++ test/intltest/apicoll.cpp (revision 39484)
-@@ -81,17 +81,10 @@ CollationAPITest::TestProperty(/* char* par */)
- logln("Test ctors : ");
- col = Collator::createInstance(Locale::getEnglish(), success);
- if (U_FAILURE(success)){
-- errcheckln(success, "Default Collator creation failed. - %s", u_errorName(success));
-+ errcheckln(success, "English Collator creation failed. - %s", u_errorName(success));
- return;
- }
-
-- StringEnumeration* kwEnum = col->getKeywordValuesForLocale("", Locale::getEnglish(),true,success);
-- if (U_FAILURE(success)){
-- errcheckln(success, "Get Keyword Values for Locale failed. - %s", u_errorName(success));
-- return;
-- }
-- delete kwEnum;
--
- col->getVersion(versionArray);
- // Check for a version greater than some value rather than equality
- // so that we need not update the expected version each time.
-@@ -231,6 +224,29 @@ CollationAPITest::TestProperty(/* char* par */)
- delete junk;
- }
-
-+void CollationAPITest::TestKeywordValues() {
-+ IcuTestErrorCode errorCode(*this, "TestKeywordValues");
-+ LocalPointer<Collator> col(Collator::createInstance(Locale::getEnglish(), errorCode));
-+ if (errorCode.logIfFailureAndReset("English Collator creation failed")) {
-+ return;
-+ }
-+
-+ LocalPointer<StringEnumeration> kwEnum(
-+ col->getKeywordValuesForLocale("collation", Locale::getEnglish(), TRUE, errorCode));
-+ if (errorCode.logIfFailureAndReset("Get Keyword Values for English Collator failed")) {
-+ return;
-+ }
-+ assertTrue("expect at least one collation tailoring for English", kwEnum->count(errorCode) > 0);
-+ const char *kw;
-+ UBool hasStandard = FALSE;
-+ while ((kw = kwEnum->next(NULL, errorCode)) != NULL) {
-+ if (strcmp(kw, "standard") == 0) {
-+ hasStandard = TRUE;
-+ }
-+ }
-+ assertTrue("expect at least the 'standard' collation tailoring for English", hasStandard);
-+}
-+
- void
- CollationAPITest::TestRuleBasedColl()
- {
-@@ -2466,6 +2482,7 @@ void CollationAPITest::runIndexedTest( int32_t ind
- if (exec) logln("TestSuite CollationAPITest: ");
- TESTCASE_AUTO_BEGIN;
- TESTCASE_AUTO(TestProperty);
-+ TESTCASE_AUTO(TestKeywordValues);
- TESTCASE_AUTO(TestOperators);
- TESTCASE_AUTO(TestDuplicate);
- TESTCASE_AUTO(TestCompare);
-Index: i18n/ucol_res.cpp
-===================================================================
---- i18n/ucol_res.cpp (revision 39483)
-+++ i18n/ucol_res.cpp (revision 39484)
-@@ -680,6 +680,7 @@ ucol_getKeywordValuesForLocale(const char* /*key*/
- return NULL;
- }
- memcpy(en, &defaultKeywordValues, sizeof(UEnumeration));
-+ ulist_resetList(sink.values); // Initialize the iterator.
- en->context = sink.values;
- sink.values = NULL; // Avoid deletion in the sink destructor.
- return en;
-Index: common/ulist.c
-===================================================================
---- common/ulist.c (revision 39483)
-+++ common/ulist.c (revision 39484)
-@@ -29,7 +29,6 @@ struct UList {
- UListNode *tail;
-
- int32_t size;
-- int32_t currentIndex;
- };
-
- static void ulist_addFirstItem(UList *list, UListNode *newItem);
-@@ -51,7 +50,6 @@ U_CAPI UList *U_EXPORT2 ulist_createEmptyList(UErr
- newList->head = NULL;
- newList->tail = NULL;
- newList->size = 0;
-- newList->currentIndex = -1;
-
- return newList;
- }
-@@ -80,8 +78,9 @@ static void ulist_removeItem(UList *list, UListNod
- } else {
- p->next->previous = p->previous;
- }
-- list->curr = NULL;
-- list->currentIndex = 0;
-+ if (p == list->curr) {
-+ list->curr = p->next;
-+ }
- --list->size;
- if (p->forceDelete) {
- uprv_free(p->data);
-@@ -150,7 +149,6 @@ U_CAPI void U_EXPORT2 ulist_addItemBeginList(UList
- newItem->next = list->head;
- list->head->previous = newItem;
- list->head = newItem;
-- list->currentIndex++;
- }
-
- list->size++;
-@@ -193,7 +191,6 @@ U_CAPI void *U_EXPORT2 ulist_getNext(UList *list)
-
- curr = list->curr;
- list->curr = curr->next;
-- list->currentIndex++;
-
- return curr->data;
- }
-@@ -209,7 +206,6 @@ U_CAPI int32_t U_EXPORT2 ulist_getListSize(const U
- U_CAPI void U_EXPORT2 ulist_resetList(UList *list) {
- if (list != NULL) {
- list->curr = list->head;
-- list->currentIndex = 0;
- }
- }
-
-@@ -272,4 +268,3 @@ U_CAPI void U_EXPORT2 ulist_reset_keyword_values_i
- U_CAPI UList * U_EXPORT2 ulist_getListFromEnum(UEnumeration *en) {
- return (UList *)(en->context);
- }
--
Index: devel/icu/files/patch-r39671
===================================================================
--- devel/icu/files/patch-r39671
+++ /dev/null
@@ -1,176 +0,0 @@
-Index: test/intltest/utxttest.h
-===================================================================
---- test/intltest/utxttest.h (revision 39670)
-+++ test/intltest/utxttest.h (revision 39671)
-@@ -38,6 +38,7 @@ class UTextTest : public IntlTest {
- void Ticket10562();
- void Ticket10983();
- void Ticket12130();
-+ void Ticket12888();
-
- private:
- struct m { // Map between native indices & code points.
-Index: test/intltest/utxttest.cpp
-===================================================================
---- test/intltest/utxttest.cpp (revision 39670)
-+++ test/intltest/utxttest.cpp (revision 39671)
-@@ -67,6 +67,8 @@ UTextTest::runIndexedTest(int32_t index, UBool exe
- if (exec) Ticket10983(); break;
- case 7: name = "Ticket12130";
- if (exec) Ticket12130(); break;
-+ case 8: name = "Ticket12888";
-+ if (exec) Ticket12888(); break;
- default: name = ""; break;
- }
- }
-@@ -1583,3 +1585,63 @@ void UTextTest::Ticket12130() {
- }
- utext_close(&ut);
- }
-+
-+// Ticket 12888: bad handling of illegal utf-8 containing many instances of the archaic, now illegal,
-+// six byte utf-8 forms. Original implementation had an assumption that
-+// there would be at most three utf-8 bytes per UTF-16 code unit.
-+// The five and six byte sequences map to a single replacement character.
-+
-+void UTextTest::Ticket12888() {
-+ const char *badString =
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80";
-+
-+ UErrorCode status = U_ZERO_ERROR;
-+ LocalUTextPointer ut(utext_openUTF8(NULL, badString, -1, &status));
-+ TEST_SUCCESS(status);
-+ for (;;) {
-+ UChar32 c = utext_next32(ut.getAlias());
-+ if (c == U_SENTINEL) {
-+ break;
-+ }
-+ }
-+ int32_t endIdx = utext_getNativeIndex(ut.getAlias());
-+ if (endIdx != (int32_t)strlen(badString)) {
-+ errln("%s:%d expected=%d, actual=%d", __FILE__, __LINE__, strlen(badString), endIdx);
-+ return;
-+ }
-+
-+ for (int32_t prevIndex = endIdx; prevIndex>0;) {
-+ UChar32 c = utext_previous32(ut.getAlias());
-+ int32_t currentIndex = utext_getNativeIndex(ut.getAlias());
-+ if (c != 0xfffd) {
-+ errln("%s:%d (expected, actual, index) = (%d, %d, %d)\n",
-+ __FILE__, __LINE__, 0xfffd, c, currentIndex);
-+ break;
-+ }
-+ if (currentIndex != prevIndex - 6) {
-+ errln("%s:%d: wrong index. Expected, actual = %d, %d",
-+ __FILE__, __LINE__, prevIndex - 6, currentIndex);
-+ break;
-+ }
-+ prevIndex = currentIndex;
-+ }
-+}
-Index: common/utext.cpp
-===================================================================
---- common/utext.cpp (revision 39670)
-+++ common/utext.cpp (revision 39671)
-@@ -847,9 +847,15 @@ U_CDECL_END
- //------------------------------------------------------------------------------
-
- // Chunk size.
--// Must be less than 85, because of byte mapping from UChar indexes to native indexes.
--// Worst case is three native bytes to one UChar. (Supplemenaries are 4 native bytes
--// to two UChars.)
-+// Must be less than 42 (256/6), because of byte mapping from UChar indexes to native indexes.
-+// Worst case there are six UTF-8 bytes per UChar.
-+// obsolete 6 byte form fd + 5 trails maps to fffd
-+// obsolete 5 byte form fc + 4 trails maps to fffd
-+// non-shortest 4 byte forms maps to fffd
-+// normal supplementaries map to a pair of utf-16, two utf8 bytes per utf-16 unit
-+// mapToUChars array size must allow for the worst case, 6.
-+// This could be brought down to 4, by treating fd and fc as pure illegal,
-+// rather than obsolete lead bytes. But that is not compatible with the utf-8 access macros.
- //
- enum { UTF8_TEXT_CHUNK_SIZE=32 };
-
-@@ -889,7 +895,7 @@ struct UTF8Buf {
- // Requires two extra slots,
- // one for a supplementary starting in the last normal position,
- // and one for an entry for the buffer limit position.
-- uint8_t mapToUChars[UTF8_TEXT_CHUNK_SIZE*3+6]; // Map native offset from bufNativeStart to
-+ uint8_t mapToUChars[UTF8_TEXT_CHUNK_SIZE*6+6]; // Map native offset from bufNativeStart to
- // correspoding offset in filled part of buf.
- int32_t align;
- };
-@@ -1032,6 +1038,7 @@ utf8TextAccess(UText *ut, int64_t index, UBool for
- // Requested index is in this buffer.
- u8b = (UTF8Buf *)ut->p; // the current buffer
- mapIndex = ix - u8b->toUCharsMapStart;
-+ U_ASSERT(mapIndex < (int32_t)sizeof(UTF8Buf::mapToUChars));
- ut->chunkOffset = u8b->mapToUChars[mapIndex] - u8b->bufStartIdx;
- return TRUE;
-
-@@ -1298,6 +1305,10 @@ fillReverse:
- // Can only do this if the incoming index is somewhere in the interior of the string.
- // If index is at the end, there is no character there to look at.
- if (ix != ut->b) {
-+ // Note: this function will only move the index back if it is on a trail byte
-+ // and there is a preceding lead byte and the sequence from the lead
-+ // through this trail could be part of a valid UTF-8 sequence
-+ // Otherwise the index remains unchanged.
- U8_SET_CP_START(s8, 0, ix);
- }
-
-@@ -1311,7 +1322,10 @@ fillReverse:
- UChar *buf = u8b->buf;
- uint8_t *mapToNative = u8b->mapToNative;
- uint8_t *mapToUChars = u8b->mapToUChars;
-- int32_t toUCharsMapStart = ix - (UTF8_TEXT_CHUNK_SIZE*3 + 1);
-+ int32_t toUCharsMapStart = ix - sizeof(UTF8Buf::mapToUChars) + 1;
-+ // Note that toUCharsMapStart can be negative. Happens when the remaining
-+ // text from current position to the beginning is less than the buffer size.
-+ // + 1 because mapToUChars must have a slot at the end for the bufNativeLimit entry.
- int32_t destIx = UTF8_TEXT_CHUNK_SIZE+2; // Start in the overflow region
- // at end of buffer to leave room
- // for a surrogate pair at the
-@@ -1338,6 +1352,7 @@ fillReverse:
- if (c<0x80) {
- // Special case ASCII range for speed.
- buf[destIx] = (UChar)c;
-+ U_ASSERT(toUCharsMapStart <= srcIx);
- mapToUChars[srcIx - toUCharsMapStart] = (uint8_t)destIx;
- mapToNative[destIx] = (uint8_t)(srcIx - toUCharsMapStart);
- } else {
-@@ -1367,6 +1382,7 @@ fillReverse:
- do {
- mapToUChars[sIx-- - toUCharsMapStart] = (uint8_t)destIx;
- } while (sIx >= srcIx);
-+ U_ASSERT(toUCharsMapStart <= (srcIx+1));
-
- // Set native indexing limit to be the current position.
- // We are processing a non-ascii, non-native-indexing char now;
-@@ -1541,6 +1557,7 @@ utf8TextMapIndexToUTF16(const UText *ut, int64_t i
- U_ASSERT(index>=ut->chunkNativeStart+ut->nativeIndexingLimit);
- U_ASSERT(index<=ut->chunkNativeLimit);
- int32_t mapIndex = index - u8b->toUCharsMapStart;
-+ U_ASSERT(mapIndex < (int32_t)sizeof(UTF8Buf::mapToUChars));
- int32_t offset = u8b->mapToUChars[mapIndex] - u8b->bufStartIdx;
- U_ASSERT(offset>=0 && offset<=ut->chunkLength);
- return offset;
Index: devel/icu/pkg-plist
===================================================================
--- devel/icu/pkg-plist
+++ devel/icu/pkg-plist
@@ -1,3 +1,4 @@
+sbin/escapesrc
sbin/icupkg
sbin/gensprep
sbin/gennorm2
@@ -44,6 +45,8 @@
include/unicode/bytestriebuilder.h
include/unicode/calendar.h
include/unicode/caniter.h
+include/unicode/casemap.h
+include/unicode/char16ptr.h
include/unicode/chariter.h
include/unicode/choicfmt.h
include/unicode/coleitr.h
@@ -63,6 +66,7 @@
include/unicode/dtitvinf.h
include/unicode/dtptngen.h
include/unicode/dtrule.h
+include/unicode/edits.h
include/unicode/enumset.h
include/unicode/errorcode.h
include/unicode/fieldpos.h
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Jan 26, 12:38 AM (14 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27984531
Default Alt Text
D12318.diff (21 KB)
Attached To
Mode
D12318: devel/icu: update to 59.1
Attached
Detach File
Event Timeline
Log In to Comment