From 679f7928e27a95e559eb3a69febf0c6336e40234 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Sat, 27 Jan 2024 23:26:42 +0100 Subject: Bump librune --- vendor/librune/lib/utf8/u8prev.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'vendor/librune/lib/utf8/u8prev.c') diff --git a/vendor/librune/lib/utf8/u8prev.c b/vendor/librune/lib/utf8/u8prev.c index fac0fc7..a219ae9 100644 --- a/vendor/librune/lib/utf8/u8prev.c +++ b/vendor/librune/lib/utf8/u8prev.c @@ -1,9 +1,10 @@ +#define _RUNE_NO_MACRO_WRAPPER 1 #include "rune.h" #include "utf8.h" #include "internal/common.h" -const char8_t * +int u8prev(rune *ch, const char8_t **p, const char8_t *start) { int off; @@ -12,7 +13,7 @@ u8prev(rune *ch, const char8_t **p, const char8_t *start) ptrdiff_t d = s - start; if (d <= 0) { - return nullptr; + return 0; } else if (U1(s[-1])) { *ch = s[-1]; off = 1; @@ -29,9 +30,11 @@ u8prev(rune *ch, const char8_t **p, const char8_t *start) } else match = false; - if (match && u8chkr(*ch)) - return *p -= off; + if (!(match && u8chkr(*ch))) { + *ch = RUNE_ERROR; + off = 1; + } - *ch = RUNE_ERROR; - return *p--; + *p -= off; + return off; } -- cgit v1.2.3