]> granicus.if.org Git - vim/commitdiff
patch 8.2.0550: some changes in the libvterm upstream code v8.2.0550
authorBram Moolenaar <Bram@vim.org>
Sun, 12 Apr 2020 11:38:57 +0000 (13:38 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 12 Apr 2020 11:38:57 +0000 (13:38 +0200)
Problem:    Some changes in the libvterm upstream code.
Solution:   Include some changes.

src/libvterm/t/harness.c
src/version.c

index 417b91e681a42b661c2047c3b54eba9b70aa9ffb..5fa4cfbca41bfc4af629e581f7ebc956ce78239d 100644 (file)
@@ -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");
index ea8f84d8de84d0ead6881f22696dab95d74c6b2f..3ebee92c08b392162ba3b8b85244d3c6499b7d37 100644 (file)
@@ -738,6 +738,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    550,
 /**/
     549,
 /**/