diff options
author | Eric Andersen | 2001-08-02 05:26:41 +0000 |
---|---|---|
committer | Eric Andersen | 2001-08-02 05:26:41 +0000 |
commit | fdbac35b332ae3e7789e2663d7e3b1144c061207 (patch) | |
tree | 3223258892abf2d17b39793a1ddddc9e46aec8ee /editors | |
parent | 842757dc9684220ced5aef7ed146a4265d0eb37c (diff) | |
download | busybox-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')
-rw-r--r-- | editors/vi.c | 6 |
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 |