---
I find this version of the loop to be easier to follow. Combined with
the reduced line count I think this patch is worth applying.
st.c | 34 +++++++++++++++-------------------
1 file changed, 15 insertions(+), 19 deletions(-)
diff --git a/st.c b/st.c
index fde4d2d..4418b97 100644
--- a/st.c
+++ b/st.c
_AT_@ -3249,28 +3249,24 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) {
bytelen -= u8cblen;
doesexist = XftCharExists(xw.dpy, font->match, unicodep);
- if(oneatatime || !doesexist || bytelen <= 0) {
- if(oneatatime || bytelen <= 0) {
- if(doesexist) {
- u8fl++;
- u8fblen += u8cblen;
- }
- }
-
- if(u8fl > 0) {
- XftDrawStringUtf8(xw.draw, fg,
- font->match, xp,
- winy + font->ascent,
- (FcChar8 *)u8fs,
- u8fblen);
- xp += xw.cw * u8fl;
-
- }
- break;
- }
+ if(!doesexist)
+ goto justdraw;
u8fl++;
u8fblen += u8cblen;
+
+ if(!oneatatime && bytelen > 0)
+ continue;
+justdraw:
+ if(u8fl > 0) {
+ XftDrawStringUtf8(xw.draw, fg,
+ font->match, xp,
+ winy + font->ascent,
+ (FcChar8 *)u8fs,
+ u8fblen);
+ xp += xw.cw * u8fl;
+ }
+ break;
}
if(doesexist) {
if(oneatatime)
--
2.0.0
Received on Fri Jun 06 2014 - 21:00:36 CEST
This archive was generated by hypermail 2.3.0 : Fri Jun 06 2014 - 21:24:10 CEST