Remove last parameter of utf8encode
[st.git] / st.c
diff --git a/st.c b/st.c
index 8e51344..8ca310c 100644 (file)
--- a/st.c
+++ b/st.c
@@ -459,7 +459,7 @@ static void mousereport(XEvent *);
 
 static size_t utf8decode(char *, long *, size_t);
 static long utf8decodebyte(char, size_t *);
-static size_t utf8encode(long, char *, size_t);
+static size_t utf8encode(long, char *);
 static char utf8encodebyte(long, size_t);
 static size_t utf8len(char *);
 static size_t utf8validate(long *, size_t);
@@ -610,11 +610,11 @@ utf8decodebyte(char c, size_t *i) {
 }
 
 size_t
-utf8encode(long u, char *c, size_t clen) {
+utf8encode(long u, char *c) {
        size_t len, i;
 
        len = utf8validate(&u, 0);
-       if(clen < len)
+       if(len > UTF_SIZ)
                return 0;
        for(i = len - 1; i != 0; --i) {
                c[i] = utf8encodebyte(u, 0);
@@ -1276,7 +1276,8 @@ stty(void)
                siz-= n + 1;
        }
        *q = '\0';
-       system(cmd);
+       if (system(cmd) != 0)
+           perror("Couldn't call stty");
 }
 
 void
@@ -1350,7 +1351,7 @@ ttyread(void) {
        buflen += ret;
        ptr = buf;
        while((charsize = utf8decode(ptr, &unicodep, buflen))) {
-               utf8encode(unicodep, s, UTF_SIZ);
+               utf8encode(unicodep, s);
                tputc(s, charsize);
                ptr += charsize;
                buflen -= charsize;
@@ -3671,7 +3672,6 @@ drawregion(int x1, int y1, int x2, int y2) {
        Glyph base, new;
        char buf[DRAW_BUF_SIZ];
        bool ena_sel = sel.ob.x != -1 && sel.alt == IS_SET(MODE_ALTSCREEN);
-       long unicodep;
 
        if(!(xw.state & WIN_VISIBLE))
                return;
@@ -3700,7 +3700,7 @@ drawregion(int x1, int y1, int x2, int y2) {
                                base = new;
                        }
 
-                       sl = utf8decode(new.c, &unicodep, UTF_SIZ);
+                       sl = utf8len(new.c);
                        memcpy(buf+ib, new.c, sl);
                        ib += sl;
                        ic += (new.mode & ATTR_WIDE)? 2 : 1;
@@ -3848,7 +3848,7 @@ kpress(XEvent *ev) {
                if(IS_SET(MODE_8BIT)) {
                        if(*buf < 0177) {
                                c = *buf | 0x80;
-                               len = utf8encode(c, buf, UTF_SIZ);
+                               len = utf8encode(c, buf);
                        }
                } else {
                        buf[1] = buf[0];