st

fork of suckless's simple terminal
Index Commits Files Refs README LICENSE
commit c2fd2754ebea6f802e4c71219af269c58b78262e
parent 27b28f1dc264e9947ea22bd64fd8f00ac98442f5
Author: Silvan Jegen <s.jegen@gmail.com>
Date:   Fri,  6 Jun 2014 22:09:22 +0200

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>

Diffstat:
Mst.c | 34++++++++++++++--------------------
1 file changed, 14 insertions(+), 20 deletions(-)
diff --git a/st.c b/st.c
@@ -3245,28 +3245,22 @@ 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) {
+                    u8fl++;
+                    u8fblen += u8cblen;
+                    if(!oneatatime && bytelen > 0)
+                            continue;
             }
 
-            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) {
             if(oneatatime)