diff options
Diffstat (limited to 'extra/icu/fix-ucptrietest-golden-diff.patch')
-rw-r--r-- | extra/icu/fix-ucptrietest-golden-diff.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/extra/icu/fix-ucptrietest-golden-diff.patch b/extra/icu/fix-ucptrietest-golden-diff.patch new file mode 100644 index 0000000..1b8082e --- /dev/null +++ b/extra/icu/fix-ucptrietest-golden-diff.patch @@ -0,0 +1,33 @@ +Patch-Source: https://github.com/unicode-org/icu/pull/1925 +Subject: [PATCH] ICU-21793 Fix ucptrietest golden diff + +diff --git a/icu4c/source/tools/toolutil/toolutil.cpp b/icu4c/source/tools/toolutil/toolutil.cpp +index 1fc68aa69c8..a9dc37377a8 100644 +--- a/tools/toolutil/toolutil.cpp ++++ b/tools/toolutil/toolutil.cpp +@@ -228,18 +228,19 @@ uprv_compareGoldenFiles( + std::ifstream ifs(goldenFilePath, std::ifstream::in); + int32_t pos = 0; + char c; +- while ((c = ifs.get()) != std::char_traits<char>::eof() && pos < bufferLen) { ++ while (ifs.get(c) && pos < bufferLen) { + if (c != buffer[pos]) { + // Files differ at this position +- return pos; ++ break; + } + pos++; + } +- if (pos < bufferLen || c != std::char_traits<char>::eof()) { +- // Files are different lengths +- return pos; ++ if (pos == bufferLen && ifs.eof()) { ++ // Files are same lengths ++ pos = -1; + } +- return -1; ++ ifs.close(); ++ return pos; + } + + /*U_CAPI UDate U_EXPORT2 |