billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=a4a26de7c353d088d744766e1ea932ea1943de64

commit a4a26de7c353d088d744766e1ea932ea1943de64
Author: Boris Faure <bill...@gmail.com>
Date:   Sun May 28 22:49:39 2017 +0200

    termptyesc: fix parsing size on xterm 50 command
---
 src/bin/termptyesc.c | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/bin/termptyesc.c b/src/bin/termptyesc.c
index 918e9af..b47f8bc 100644
--- a/src/bin/termptyesc.c
+++ b/src/bin/termptyesc.c
@@ -1294,15 +1294,22 @@ _handle_xterm_50_command(Termpty *ty,
                          char *s,
                          int len)
 {
-  size_t i;
-  int size;
-  for (i = 0; i < (size_t)len - strlen(":size="); i++)
+  int pattern_len = strlen(":size=");
+  while (len > pattern_len)
     {
-       if (strncmp(s + i, ":size=", strlen(":size=")) == 0)
+       if (strncmp(s, ":size=", pattern_len) == 0)
          {
-            size = strtol(s + i + strlen(":size="), NULL, 10);
-            termio_font_size_set(ty->obj, size);
+            char *endptr = NULL;
+            int size;
+
+            s += pattern_len;
+            errno = 0;
+            size = strtol(s, &endptr, 10);
+            if (endptr != s && errno == 0)
+               termio_font_size_set(ty->obj, size);
          }
+       len--;
+       s++;
     }
 }
 

-- 


Reply via email to