patch 8.2.3674: when ml_get_buf() fails it messes up IObuff
Problem: When ml_get_buf() fails it messes up IObuff.
Solution: Return a local pointer. (closes #9214)
diff --git a/src/memline.c b/src/memline.c
index f54a970..119861e 100644
--- a/src/memline.c
+++ b/src/memline.c
@@ -2606,6 +2606,7 @@
bhdr_T *hp;
DATA_BL *dp;
static int recursive = 0;
+ static char_u questions[4];
if (lnum > buf->b_ml.ml_line_count) // invalid line number
{
@@ -2618,9 +2619,9 @@
--recursive;
}
errorret:
- STRCPY(IObuff, "???");
+ STRCPY(questions, "???");
buf->b_ml.ml_line_len = 4;
- return IObuff;
+ return questions;
}
if (lnum <= 0) // pretend line 0 is line 1
lnum = 1;