From: Graham Inggs Date: Tue, 21 Dec 2021 11:46:07 +0000 (+0200) Subject: New upstream version 2.6.1 X-Git-Tag: archive/raspbian/2.11.3-2+rpi1^2~10^2~5 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=b6c9752a7ccab46f4c50969f0b061aae041e0dd3;p=utf8proc.git New upstream version 2.6.1 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 59ce0f4..ea6b80e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ project (utf8proc C) # Be sure to also update these in Makefile and MANIFEST! set(SO_MAJOR 2) set(SO_MINOR 4) -set(SO_PATCH 0) +set(SO_PATCH 1) option(UTF8PROC_INSTALL "Enable installation of utf8proc" On) option(UTF8PROC_ENABLE_TESTING "Enable testing of utf8proc" Off) diff --git a/MANIFEST b/MANIFEST index bcc5304..c6df660 100644 --- a/MANIFEST +++ b/MANIFEST @@ -2,8 +2,8 @@ include/ include/utf8proc.h lib/ lib/libutf8proc.a -lib/libutf8proc.so -> libutf8proc.so.2.4.0 -lib/libutf8proc.so.2 -> libutf8proc.so.2.4.0 -lib/libutf8proc.so.2.4.0 +lib/libutf8proc.so -> libutf8proc.so.2.4.1 +lib/libutf8proc.so.2 -> libutf8proc.so.2.4.1 +lib/libutf8proc.so.2.4.1 lib/pkgconfig/ lib/pkgconfig/libutf8proc.pc diff --git a/Makefile b/Makefile index 3d4c2fb..fa1c6b0 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,7 @@ SOFLAG = -Wl,-soname # Be sure to also update these ABI versions in MANIFEST and CMakeLists.txt! MAJOR=2 MINOR=4 -PATCH=0 +PATCH=1 OS := $(shell uname) ifeq ($(OS),Darwin) # MacOS X diff --git a/NEWS.md b/NEWS.md index 0f92be5..6428b8c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,12 @@ # utf8proc release history # +## Version 2.6.1 ## + +2020-12-15 + + - Bugfix in `utf8proc_grapheme_break_stateful` for `NULL` state argument, which + also broke `utf8proc_grapheme_break`. + ## Version 2.6 ## 2020-11-23 diff --git a/test/graphemetest.c b/test/graphemetest.c index 95e7dc0..22880fc 100644 --- a/test/graphemetest.c +++ b/test/graphemetest.c @@ -118,6 +118,9 @@ int main(int argc, char **argv) checkline("/ 1f926 1f3fc 200d 2642 fe0f /", true); /* facepalm + pale skin + zwj + male sign + FE0F */ checkline("/ 1f468 1f3fb 200d 1f91d 200d 1f468 1f3fd /", true); /* man face + pale skin + zwj + hand holding + zwj + man face + dark skin */ + check(utf8proc_grapheme_break(0x03b1, 0x03b2), "failed 03b1 / 03b2 test"); + check(!utf8proc_grapheme_break(0x03b1, 0x0302), "failed 03b1 0302 test"); + printf("Passed regression tests!\n"); return 0; diff --git a/utf8proc.c b/utf8proc.c index 5a9fbf3..1af3456 100644 --- a/utf8proc.c +++ b/utf8proc.c @@ -290,13 +290,14 @@ static utf8proc_bool grapheme_break_simple(int lbc, int tbc) { static utf8proc_bool grapheme_break_extended(int lbc, int tbc, utf8proc_int32_t *state) { - int lbc_override; - if (*state == UTF8PROC_BOUNDCLASS_START) - *state = lbc_override = lbc; - else - lbc_override = *state; - utf8proc_bool break_permitted = grapheme_break_simple(lbc_override, tbc); if (state) { + int lbc_override; + if (*state == UTF8PROC_BOUNDCLASS_START) + *state = lbc_override = lbc; + else + lbc_override = *state; + utf8proc_bool break_permitted = grapheme_break_simple(lbc_override, tbc); + // Special support for GB 12/13 made possible by GB999. After two RI // class codepoints we want to force a break. Do this by resetting the // second RI's bound class to UTF8PROC_BOUNDCLASS_OTHER, to force a break @@ -315,8 +316,11 @@ static utf8proc_bool grapheme_break_extended(int lbc, int tbc, utf8proc_int32_t } else *state = tbc; + + return break_permitted; } - return break_permitted; + else + return grapheme_break_simple(lbc, tbc); } UTF8PROC_DLLEXPORT utf8proc_bool utf8proc_grapheme_break_stateful( diff --git a/utf8proc.h b/utf8proc.h index bfc62e4..2e8a7ae 100644 --- a/utf8proc.h +++ b/utf8proc.h @@ -73,7 +73,7 @@ /** The MINOR version number (increased when new functionality is added in a backwards-compatible manner). */ #define UTF8PROC_VERSION_MINOR 6 /** The PATCH version (increased for fixes that do not change the API). */ -#define UTF8PROC_VERSION_PATCH 0 +#define UTF8PROC_VERSION_PATCH 1 /** @} */ #include