From e1a1b64f433661188d9e5591f2137860dab0c18a Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Wed, 3 Apr 2019 16:30:50 +0200 Subject: vi: code shrink function old new delta new_screen 84 75 -9 Signed-off-by: Denys Vlasenko --- editors/vi.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'editors') 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 -------------------------- -- cgit v1.2.3