scroll: compatibility fix wrt upstream utf8decode overhaul changes #33

This commit is contained in:
bakkeby 2024-09-19 09:31:45 +02:00
parent 23cbc819b9
commit 43f0483d5a

View File

@ -25,6 +25,7 @@ drw_text_align(Drw *drw, int x, int y, unsigned int w, unsigned int h, const cha
FcPattern *match; FcPattern *match;
XftResult result; XftResult result;
int charexists = 0; int charexists = 0;
int utf8err = 0;
int i, n; int i, n;
if (!drw || (render && !drw->scheme) || !text || !drw->fonts || textlen <= 0 if (!drw || (render && !drw->scheme) || !text || !drw->fonts || textlen <= 0
@ -56,14 +57,14 @@ drw_text_align(Drw *drw, int x, int y, unsigned int w, unsigned int h, const cha
while ((align == AlignL && i < textlen) || (align == AlignR && i > 0)) { while ((align == AlignL && i < textlen) || (align == AlignR && i > 0)) {
if (align == AlignL) { if (align == AlignL) {
utf8charlen = utf8decode(text + i, &utf8codepoint, MIN(textlen - i, UTF_SIZ)); utf8charlen = utf8decode(text + i, &utf8codepoint, &utf8err);
if (!utf8charlen) { if (!utf8charlen) {
textlen = i; textlen = i;
break; break;
} }
} else { } else {
n = utf8nextchar(text, textlen, i, -1); n = utf8nextchar(text, textlen, i, -1);
utf8charlen = utf8decode(text + n, &utf8codepoint, MIN(textlen - n, UTF_SIZ)); utf8charlen = utf8decode(text + n, &utf8codepoint, &utf8err);
if (!utf8charlen) { if (!utf8charlen) {
textlen -= i; textlen -= i;
text += i; text += i;