summaryrefslogtreecommitdiff
path: root/editors
diff options
context:
space:
mode:
authorPaul Fox2008-03-05 16:44:02 +0000
committerPaul Fox2008-03-05 16:44:02 +0000
commit4917c11432c06ae4119c8cea6964cdf431ec6ac5 (patch)
treed58dc0b853fbf3a00cdeb430151182eac407a011 /editors
parenta43dba76ea394d789de67c6322b51e1d65bdba3b (diff)
downloadbusybox-4917c11432c06ae4119c8cea6964cdf431ec6ac5.zip
busybox-4917c11432c06ae4119c8cea6964cdf431ec6ac5.tar.gz
fix vi's '?' and '/' commands to correctly set a new direction
when reusing a previous search pattern. previously only 'n' and 'N' reversed directions properly.
Diffstat (limited to 'editors')
-rw-r--r--editors/vi.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/editors/vi.c b/editors/vi.c
index d2d2670..31ad96c 100644
--- a/editors/vi.c
+++ b/editors/vi.c
@@ -3293,8 +3293,11 @@ static void do_cmd(char c)
buf[0] = c;
buf[1] = '\0';
q = get_input_line(buf); // get input line- use "status line"
- if (q[0] && !q[1])
+ if (q[0] && !q[1]) {
+ if (last_search_pattern[0])
+ last_search_pattern[0] = c;
goto dc3; // if no pat re-use old pat
+ }
if (q[0]) { // strlen(q) > 1: new pat- save it and find
// there is a new pat
free(last_search_pattern);