summaryrefslogtreecommitdiff
path: root/editors/vi.c
diff options
context:
space:
mode:
authorEric Andersen2001-08-02 05:26:41 +0000
committerEric Andersen2001-08-02 05:26:41 +0000
commitfdbac35b332ae3e7789e2663d7e3b1144c061207 (patch)
tree3223258892abf2d17b39793a1ddddc9e46aec8ee /editors/vi.c
parent842757dc9684220ced5aef7ed146a4265d0eb37c (diff)
downloadbusybox-fdbac35b332ae3e7789e2663d7e3b1144c061207.zip
busybox-fdbac35b332ae3e7789e2663d7e3b1144c061207.tar.gz
Patch from Robert J. Osborne <rj@resourceinternational.com> that fixes
a bug in vi where the beginning of the text space was not checked before dot is decremented for delete and escape sequences on an empty file.
Diffstat (limited to 'editors/vi.c')
-rw-r--r--editors/vi.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/editors/vi.c b/editors/vi.c
index 38aee15..8d7506d 100644
--- a/editors/vi.c
+++ b/editors/vi.c
@@ -19,7 +19,7 @@
*/
static const char vi_Version[] =
- "$Id: vi.c,v 1.14 2001/07/31 15:01:12 kraai Exp $";
+ "$Id: vi.c,v 1.15 2001/08/02 05:26:41 andersen Exp $";
/*
* To compile for standalone use:
@@ -2640,12 +2640,12 @@ static Byte *char_insert(Byte * p, Byte c) // insert the char c at 'p'
cmdcnt = 0;
end_cmd_q(); // stop adding to q
strcpy((char *) status_buffer, " "); // clear the status buffer
- if (p[-1] != '\n') {
+ if ((p[-1] != '\n') && (dot>text)) {
p--;
}
} else if (c == erase_char) { // Is this a BS
// 123456789
- if (p[-1] != '\n') {
+ if ((p[-1] != '\n') && (dot>text)) {
p--;
p = text_hole_delete(p, p); // shrink buffer 1 char
#ifdef BB_FEATURE_VI_DOT_CMD