summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-04-12 13:38:57 +0200
committerBram Moolenaar <Bram@vim.org>2020-04-12 13:38:57 +0200
commit88c1ee84d64d4f2cc25a95a6ccd573f8dc16b073 (patch)
treed92fea2620c16408b5db6541263e96f8233d21a7
parent3b922f11380c7dbf94ee45bc09d688b772d9707f (diff)
patch 8.2.0550: some changes in the libvterm upstream codev8.2.0550
Problem: Some changes in the libvterm upstream code. Solution: Include some changes.
-rw-r--r--src/libvterm/t/harness.c33
-rw-r--r--src/version.c2
2 files changed, 21 insertions, 14 deletions
diff --git a/src/libvterm/t/harness.c b/src/libvterm/t/harness.c
index 417b91e681..5fa4cfbca4 100644
--- a/src/libvterm/t/harness.c
+++ b/src/libvterm/t/harness.c
@@ -65,6 +65,21 @@ static VTermScreen *screen;
static VTermEncodingInstance encoding;
+static void term_output(const char *s, size_t len, void *user)
+{
+ size_t i;
+
+ printf("output ");
+ for(i = 0; i < len; i++)
+ printf("%x%s", (unsigned char)s[i], i < len-1 ? "," : "\n");
+}
+
+static void printhex(const char *s, size_t len)
+{
+ while(len--)
+ printf("%02x", (s++)[0]);
+}
+
static int parser_text(const char bytes[], size_t len, void *user UNUSED)
{
size_t i;
@@ -90,8 +105,6 @@ static int parser_control(unsigned char control, void *user UNUSED)
static int parser_escape(const char bytes[], size_t len, void *user UNUSED)
{
- size_t i;
-
if(bytes[0] >= 0x20 && bytes[0] < 0x30) {
if(len < 2)
return -1;
@@ -102,8 +115,7 @@ static int parser_escape(const char bytes[], size_t len, void *user UNUSED)
}
printf("escape ");
- for(i = 0; i < len; i++)
- printf("%02x", bytes[i]);
+ printhex(bytes, len);
printf("\n");
return len;
@@ -142,11 +154,9 @@ static int parser_csi(const char *leader, const long args[], int argcount, const
static int parser_osc(const char *command, size_t cmdlen, void *user UNUSED)
{
- size_t i;
printf("osc ");
- for(i = 0; i < cmdlen; i++)
- printf("%02x", command[i]);
+ printhex(command, cmdlen);
printf("\n");
return 1;
@@ -154,11 +164,9 @@ static int parser_osc(const char *command, size_t cmdlen, void *user UNUSED)
static int parser_dcs(const char *command, size_t cmdlen, void *user UNUSED)
{
- size_t i;
printf("dcs ");
- for(i = 0; i < cmdlen; i++)
- printf("%02x", command[i]);
+ printhex(command, cmdlen);
printf("\n");
return 1;
@@ -928,13 +936,10 @@ int main(int argc UNUSED, char **argv UNUSED)
outlen = vterm_output_get_buffer_current(vt);
if(outlen > 0) {
- size_t i;
char outbuff[1024];
vterm_output_read(vt, outbuff, outlen);
- printf("output ");
- for(i = 0; i < outlen; i++)
- printf("%x%s", (unsigned char)outbuff[i], i < outlen-1 ? "," : "\n");
+ term_output(outbuff, outlen, NULL);
}
printf(err ? "?\n" : "DONE\n");
diff --git a/src/version.c b/src/version.c
index ea8f84d8de..3ebee92c08 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 550,
+/**/
549,
/**/
548,