A patch from Vladimir to use last_char_is(), and a patch from
authorEric Andersen <andersen@codepoet.org>
Mon, 7 May 2001 22:57:47 +0000 (22:57 -0000)
committerEric Andersen <andersen@codepoet.org>
Mon, 7 May 2001 22:57:47 +0000 (22:57 -0000)
Larry to fix a silly bug when BB_FEATURE_VI_OPTIMIZE_CURSOR
is not defined.

editors/vi.c
vi.c

index 54f1d265cdaf4339217bc4735044ec310e593ec8..5a68ba9f1f33b9eda320fe2e76e9c88d7ef27a13 100644 (file)
@@ -19,7 +19,7 @@
  */
 
 char *vi_Version =
-       "$Id: vi.c,v 1.6 2001/05/07 17:37:43 andersen Exp $";
+       "$Id: vi.c,v 1.7 2001/05/07 22:57:47 andersen Exp $";
 
 /*
  * To compile for standalone use:
@@ -1760,9 +1760,10 @@ static void colon(Byte * buf)
        while (isblnk(*buf))
                buf++;
        strcpy((char *) args, (char *) buf);
-       if (last_char_is((char *)cmd, '!')) {
+       buf1 = last_char_is((char *)cmd, '!');
+       if (buf1) {
                useforce = TRUE;
-               cmd[strlen((char *) cmd) - 1] = '\0';   // get rid of !
+               *buf1 = '\0';   // get rid of !
        }
        if (b >= 0) {
                // if there is only one addr, then the addr
@@ -3919,9 +3920,11 @@ static void refresh(int full_screen)
                }
        }
 
-       place_cursor(crow, ccol, (crow == last_row) ? TRUE : FALSE);
 #ifdef BB_FEATURE_VI_OPTIMIZE_CURSOR
+       place_cursor(crow, ccol, (crow == last_row) ? TRUE : FALSE);
        last_row = crow;
+#else
+       place_cursor(crow, ccol, FALSE);
 #endif                                                 /* BB_FEATURE_VI_OPTIMIZE_CURSOR */
        
        if (offset != old_offset)
diff --git a/vi.c b/vi.c
index 54f1d265cdaf4339217bc4735044ec310e593ec8..5a68ba9f1f33b9eda320fe2e76e9c88d7ef27a13 100644 (file)
--- a/vi.c
+++ b/vi.c
@@ -19,7 +19,7 @@
  */
 
 char *vi_Version =
-       "$Id: vi.c,v 1.6 2001/05/07 17:37:43 andersen Exp $";
+       "$Id: vi.c,v 1.7 2001/05/07 22:57:47 andersen Exp $";
 
 /*
  * To compile for standalone use:
@@ -1760,9 +1760,10 @@ static void colon(Byte * buf)
        while (isblnk(*buf))
                buf++;
        strcpy((char *) args, (char *) buf);
-       if (last_char_is((char *)cmd, '!')) {
+       buf1 = last_char_is((char *)cmd, '!');
+       if (buf1) {
                useforce = TRUE;
-               cmd[strlen((char *) cmd) - 1] = '\0';   // get rid of !
+               *buf1 = '\0';   // get rid of !
        }
        if (b >= 0) {
                // if there is only one addr, then the addr
@@ -3919,9 +3920,11 @@ static void refresh(int full_screen)
                }
        }
 
-       place_cursor(crow, ccol, (crow == last_row) ? TRUE : FALSE);
 #ifdef BB_FEATURE_VI_OPTIMIZE_CURSOR
+       place_cursor(crow, ccol, (crow == last_row) ? TRUE : FALSE);
        last_row = crow;
+#else
+       place_cursor(crow, ccol, FALSE);
 #endif                                                 /* BB_FEATURE_VI_OPTIMIZE_CURSOR */
        
        if (offset != old_offset)