Refactor the innermost loop of the xdraws function
Signed-off-by: Silvan Jegen <s.jegen@gmail.com> Signed-off-by: Christoph Lohmann <20h@r-36.net>master
parent
27b28f1dc2
commit
c2fd2754eb
34
st.c
34
st.c
|
@ -3245,28 +3245,22 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) {
|
||||||
bytelen -= u8cblen;
|
bytelen -= u8cblen;
|
||||||
|
|
||||||
doesexist = XftCharExists(xw.dpy, font->match, unicodep);
|
doesexist = XftCharExists(xw.dpy, font->match, unicodep);
|
||||||
if(oneatatime || !doesexist || bytelen <= 0) {
|
if(doesexist) {
|
||||||
if(oneatatime || bytelen <= 0) {
|
u8fl++;
|
||||||
if(doesexist) {
|
u8fblen += u8cblen;
|
||||||
u8fl++;
|
if(!oneatatime && bytelen > 0)
|
||||||
u8fblen += u8cblen;
|
continue;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(u8fl > 0) {
|
|
||||||
XftDrawStringUtf8(xw.draw, fg,
|
|
||||||
font->match, xp,
|
|
||||||
winy + font->ascent,
|
|
||||||
(FcChar8 *)u8fs,
|
|
||||||
u8fblen);
|
|
||||||
xp += xw.cw * u8fl;
|
|
||||||
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
u8fl++;
|
if(u8fl > 0) {
|
||||||
u8fblen += u8cblen;
|
XftDrawStringUtf8(xw.draw, fg,
|
||||||
|
font->match, xp,
|
||||||
|
winy + font->ascent,
|
||||||
|
(FcChar8 *)u8fs,
|
||||||
|
u8fblen);
|
||||||
|
xp += xw.cw * u8fl;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if(doesexist) {
|
if(doesexist) {
|
||||||
if(oneatatime)
|
if(oneatatime)
|
||||||
|
|
Reference in New Issue