diff options
author | Denis Vlasenko | 2008-07-17 21:32:32 +0000 |
---|---|---|
committer | Denis Vlasenko | 2008-07-17 21:32:32 +0000 |
commit | 7b54dc788c1bafcc0452790403758f84f0852854 (patch) | |
tree | 5878d487da22ae8118c36937f5be0be95acd7be6 | |
parent | 7354244c4aaa22924c3d179eca4af168c27d68f8 (diff) | |
download | busybox-7b54dc788c1bafcc0452790403758f84f0852854.zip busybox-7b54dc788c1bafcc0452790403758f84f0852854.tar.gz |
vi: using array data after it fell out of scope is stupid.
-rw-r--r-- | editors/vi.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/editors/vi.c b/editors/vi.c index 1f1d3ca..27f2a3a 100644 --- a/editors/vi.c +++ b/editors/vi.c @@ -2492,6 +2492,14 @@ static int file_write(char *fn, char *first, char *last) static void place_cursor(int row, int col, int optimize) { char cm1[sizeof(CMrc) + sizeof(int)*3 * 2]; +#if ENABLE_FEATURE_VI_OPTIMIZE_CURSOR + enum { + SZ_UP = sizeof(CMup), + SZ_DN = sizeof(CMdown), + SEQ_SIZE = SZ_UP > SZ_DN ? SZ_UP : SZ_DN, + }; + char cm2[SEQ_SIZE * 5 + 32]; // bigger than worst case size +#endif char *cm; if (row < 0) row = 0; @@ -2505,12 +2513,6 @@ static void place_cursor(int row, int col, int optimize) #if ENABLE_FEATURE_VI_OPTIMIZE_CURSOR if (optimize && col < 16) { - enum { - SZ_UP = sizeof(CMup), - SZ_DN = sizeof(CMdown), - SEQ_SIZE = SZ_UP > SZ_DN ? SZ_UP : SZ_DN, - }; - char cm2[SEQ_SIZE * 5 + 32]; // bigger than worst case size char *screenp; int Rrow = last_row; int diff = Rrow - row; |