aboutsummaryrefslogtreecommitdiff
path: root/cmake.deps/patches/libvterm-Remove-VLAs-for-MSVC.patch
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2022-06-28 13:35:56 +0200
committerGitHub <noreply@github.com>2022-06-28 13:35:56 +0200
commite0f605bfd8b40b45a7efc88ffa0ee6b4a8a3307a (patch)
tree7714844409ed8d84f5f408590b1d7cb82bfd5f0b /cmake.deps/patches/libvterm-Remove-VLAs-for-MSVC.patch
parent9e1474409934cda19e17d41a876415fc25022dce (diff)
parent4c0c6f8428681c7ceef1148abe40b7d06079449c (diff)
downloadrneovim-e0f605bfd8b40b45a7efc88ffa0ee6b4a8a3307a.tar.gz
rneovim-e0f605bfd8b40b45a7efc88ffa0ee6b4a8a3307a.tar.bz2
rneovim-e0f605bfd8b40b45a7efc88ffa0ee6b4a8a3307a.zip
Merge #19120 build: rename build-related dirs
Diffstat (limited to 'cmake.deps/patches/libvterm-Remove-VLAs-for-MSVC.patch')
-rw-r--r--cmake.deps/patches/libvterm-Remove-VLAs-for-MSVC.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/cmake.deps/patches/libvterm-Remove-VLAs-for-MSVC.patch b/cmake.deps/patches/libvterm-Remove-VLAs-for-MSVC.patch
new file mode 100644
index 0000000000..e999c0fa9b
--- /dev/null
+++ b/cmake.deps/patches/libvterm-Remove-VLAs-for-MSVC.patch
@@ -0,0 +1,50 @@
+From eb386b1d82f7d07363c9133b7aa06902ccd555fe Mon Sep 17 00:00:00 2001
+Date: Tue, 27 Feb 2018 17:54:20 -0600
+Subject: [PATCH] Remove VLAs for MSVC
+
+VLAs are replaced with calls to _alloca() because MSVC does not support them.
+---
+ src/state.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/src/state.c b/src/state.c
+index 84299df..f9aabb3 100644
+--- a/src/state.c
++++ b/src/state.c
+@@ -1,5 +1,6 @@
+ #include "vterm_internal.h"
+
++#include <malloc.h>
+ #include <stdio.h>
+ #include <string.h>
+
+@@ -236,7 +237,7 @@ static int on_text(const char bytes[], size_t len, void *user)
+ VTermPos oldpos = state->pos;
+
+ // We'll have at most len codepoints
+- uint32_t codepoints[len];
++ uint32_t* codepoints = _alloca(len * sizeof(uint32_t));
+ int npoints = 0;
+ size_t eaten = 0;
+
+@@ -313,7 +314,7 @@ static int on_text(const char bytes[], size_t len, void *user)
+
+ int width = 0;
+
+- uint32_t chars[glyph_ends - glyph_starts + 1];
++ uint32_t* chars = _alloca((glyph_ends - glyph_starts + 1) * sizeof(uint32_t));
+
+ for( ; i < glyph_ends; i++) {
+ chars[i - glyph_starts] = codepoints[i];
+@@ -512,7 +513,7 @@ static int settermprop_int(VTermState *state, VTermProp prop, int v)
+
+ static int settermprop_string(VTermState *state, VTermProp prop, const char *str, size_t len)
+ {
+- char strvalue[len+1];
++ char* strvalue = _alloca(len+1);
+ strncpy(strvalue, str, len);
+ strvalue[len] = 0;
+
+--
+2.16.1.windows.4
+