[git commit] vi: code shrink

Denys Vlasenko vda.linux at googlemail.com
Wed Apr 3 14:30:50 UTC 2019


commit: https://git.busybox.net/busybox/commit/?id=e1a1b64f433661188d9e5591f2137860dab0c18a
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
new_screen                                            84      75      -9

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 editors/vi.c | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/editors/vi.c b/editors/vi.c
index ce261feca..38177dec4 100644
--- a/editors/vi.c
+++ b/editors/vi.c
@@ -722,20 +722,25 @@ static void screen_erase(void)
 	memset(screen, ' ', screensize);	// clear new screen
 }
 
-static char *new_screen(int ro, int co)
+static void new_screen(int ro, int co)
 {
-	int li;
+	char *s;
 
 	free(screen);
 	screensize = ro * co + 8;
-	screen = xmalloc(screensize);
+	s = screen = xmalloc(screensize);
 	// initialize the new screen. assume this will be a empty file.
 	screen_erase();
-	//   non-existent text[] lines start with a tilde (~).
-	for (li = 1; li < ro - 1; li++) {
-		screen[(li * co) + 0] = '~';
+	// non-existent text[] lines start with a tilde (~).
+	//screen[(1 * co) + 0] = '~';
+	//screen[(2 * co) + 0] = '~';
+	//..
+	//screen[((ro-2) * co) + 0] = '~';
+	ro -= 2;
+	while (--ro >= 0) {
+		s += co;
+		*s = '~';
 	}
-	return screen;
 }
 
 //----- Synchronize the cursor to Dot --------------------------


More information about the busybox-cvs mailing list