termptyesc: fix parsing size on xterm 50 command

This commit is contained in:
Boris Faure 2017-05-28 22:49:39 +02:00
parent 72eaf53e26
commit a4a26de7c3
1 changed files with 13 additions and 6 deletions

View File

@ -1294,15 +1294,22 @@ _handle_xterm_50_command(Termpty *ty,
char *s, char *s,
int len) int len)
{ {
size_t i; int pattern_len = strlen(":size=");
int size; while (len > pattern_len)
for (i = 0; i < (size_t)len - strlen(":size="); i++)
{ {
if (strncmp(s + i, ":size=", strlen(":size=")) == 0) if (strncmp(s, ":size=", pattern_len) == 0)
{ {
size = strtol(s + i + strlen(":size="), NULL, 10); char *endptr = NULL;
termio_font_size_set(ty->obj, size); 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++;
} }
} }