From c0a1ff81fc71f742acf2c046fe7acd070c0f08b9 Mon Sep 17 00:00:00 2001 From: Keno Fischer Date: Wed, 13 Jul 2016 10:41:13 -0400 Subject: [PATCH] Walk back ABI breaking changes (#76) --- utf8proc.c | 8 +++++++- utf8proc.h | 13 ++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/utf8proc.c b/utf8proc.c index 562f778..b479750 100644 --- a/utf8proc.c +++ b/utf8proc.c @@ -308,7 +308,7 @@ static utf8proc_bool grapheme_break_extended(int lbc, int tbc, utf8proc_int32_t return break_permitted; } -UTF8PROC_DLLEXPORT utf8proc_bool utf8proc_grapheme_break( +UTF8PROC_DLLEXPORT utf8proc_bool utf8proc_grapheme_break_stateful( utf8proc_int32_t c1, utf8proc_int32_t c2, utf8proc_int32_t *state) { return grapheme_break_extended(utf8proc_get_property(c1)->boundclass, @@ -316,6 +316,12 @@ UTF8PROC_DLLEXPORT utf8proc_bool utf8proc_grapheme_break( state); } + +UTF8PROC_DLLEXPORT utf8proc_bool utf8proc_grapheme_break( + utf8proc_int32_t c1, utf8proc_int32_t c2) { + return utf8proc_grapheme_break_stateful(c1, c2, NULL); +} + static utf8proc_int32_t seqindex_decode_entry(const utf8proc_uint16_t **entry) { utf8proc_int32_t entry_cp = **entry; diff --git a/utf8proc.h b/utf8proc.h index 4e033e7..af4c81d 100644 --- a/utf8proc.h +++ b/utf8proc.h @@ -527,12 +527,19 @@ UTF8PROC_DLLEXPORT utf8proc_ssize_t utf8proc_reencode(utf8proc_int32_t *buffer, * GB10/12/13 which require this state will not be applied, essentially * matching the rules in Unicode 8.0.0. * - * @warning If the state parameter is used, `utf8proc_grapheme_break` must be called - * IN ORDER on ALL potential breaks in a string. + * @warning If the state parameter is used, `utf8proc_grapheme_break_stateful` must + * be called IN ORDER on ALL potential breaks in a string. */ -UTF8PROC_DLLEXPORT utf8proc_bool utf8proc_grapheme_break( +UTF8PROC_DLLEXPORT utf8proc_bool utf8proc_grapheme_break_stateful( utf8proc_int32_t codepoint1, utf8proc_int32_t codepoint2, utf8proc_int32_t *state); +/** + * Same as @ref utf8proc_grapheme_break_stateful, except without support for the + * Unicode 9 additions to the algorithm. Supported for legacy reasons. + */ +UTF8PROC_DLLEXPORT utf8proc_bool utf8proc_grapheme_break( + utf8proc_int32_t codepoint1, utf8proc_int32_t codepoint2); + /** * Given a codepoint `c`, return the codepoint of the corresponding