summaryrefslogtreecommitdiff
path: root/package/busybox/busybox-1.8.2-vi.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/busybox/busybox-1.8.2-vi.patch')
-rw-r--r--package/busybox/busybox-1.8.2-vi.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/package/busybox/busybox-1.8.2-vi.patch b/package/busybox/busybox-1.8.2-vi.patch
new file mode 100644
index 000000000..cb588ac65
--- /dev/null
+++ b/package/busybox/busybox-1.8.2-vi.patch
@@ -0,0 +1,40 @@
+diff -urN busybox-1.8.2/editors/vi.c busybox-1.8.2-vi/editors/vi.c
+--- busybox-1.8.2/editors/vi.c 2007-11-10 01:40:54.000000000 +0000
++++ busybox-1.8.2-vi/editors/vi.c 2007-12-10 16:26:01.000000000 +0000
+@@ -184,6 +184,7 @@
+ #if ENABLE_FEATURE_VI_COLON
+ char *initial_cmds[3]; // currently 2 entries, NULL terminated
+ #endif
++ char readbuffer[MAX_LINELEN];
+ };
+ #define G (*ptr_to_globals)
+ #define text (G.text )
+@@ -200,6 +201,10 @@
+ #define term_orig (G.term_orig )
+ #define term_vi (G.term_vi )
+ #define initial_cmds (G.initial_cmds )
++#define readbuffer (G.readbuffer )
++#define INIT_G() do { \
++ PTR_TO_GLOBALS = xzalloc(sizeof(G)); \
++} while (0)
+
+ static int init_text_buffer(char *); // init from file or create new
+ static void edit_file(char *); // edit one file
+@@ -321,7 +326,7 @@
+ my_pid = getpid();
+ #endif
+
+- PTR_TO_GLOBALS = xzalloc(sizeof(G));
++ INIT_G();
+
+ #if ENABLE_FEATURE_VI_CRASHME
+ srand((long) my_pid);
+@@ -2142,8 +2147,6 @@
+ return safe_poll(pfd, 1, hund*10) > 0;
+ }
+
+-#define readbuffer bb_common_bufsiz1
+-
+ static int readed_for_parse;
+
+ //----- IO Routines --------------------------------------------