[git commit] vi: rename save_argc -> cmdline_filecnt

Denys Vlasenko vda.linux at googlemail.com
Tue Apr 2 10:45:30 UTC 2019


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

function                                             old     new   delta
vi_main                                              272     273      +1
colon                                               2852    2853      +1

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

diff --git a/editors/vi.c b/editors/vi.c
index 9d0fc23cf..b41cf451c 100644
--- a/editors/vi.c
+++ b/editors/vi.c
@@ -301,7 +301,7 @@ struct globals {
 	smallint cmd_mode;       // 0=command  1=insert 2=replace
 	int modified_count;      // buffer contents changed if !0
 	int last_modified_count; // = -1;
-	int save_argc;           // how many file names on cmd line
+	int cmdline_filecnt;     // how many file names on cmd line
 	int cmdcnt;              // repetition count
 	unsigned rows, columns;	 // the terminal screen is this size
 #if ENABLE_FEATURE_VI_ASK_TERMINAL
@@ -416,7 +416,7 @@ struct globals {
 #define cmd_mode                (G.cmd_mode           )
 #define modified_count          (G.modified_count     )
 #define last_modified_count     (G.last_modified_count)
-#define save_argc               (G.save_argc          )
+#define cmdline_filecnt         (G.cmdline_filecnt    )
 #define cmdcnt                  (G.cmdcnt             )
 #define rows                    (G.rows               )
 #define columns                 (G.columns            )
@@ -2367,7 +2367,7 @@ static void colon(char *buf)
 		} else {
 			modified_count = 0;
 			last_modified_count = -1;
-			status_line("'%s' %dL, %dC",
+			status_line("'%s' %uL, %uC",
 				current_filename,
 				count_lines(text, end - 1), cnt
 			);
@@ -2538,7 +2538,7 @@ static void colon(char *buf)
 		li = count_lines(text, end - 1);
 		status_line("'%s'%s"
 			IF_FEATURE_VI_READONLY("%s")
-			" %dL, %dC",
+			" %uL, %uC",
 			current_filename,
 			(size < 0 ? " [New file]" : ""),
 			IF_FEATURE_VI_READONLY(
@@ -2604,7 +2604,7 @@ static void colon(char *buf)
 		if (useforce) {
 			if (*cmd == 'q') {
 				// force end of argv list
-				optind = save_argc;
+				optind = cmdline_filecnt - 1;
 			}
 			editing = 0;
 			goto ret;
@@ -2615,9 +2615,9 @@ static void colon(char *buf)
 			goto ret;
 		}
 		// are there other file to edit
-		n = save_argc - optind - 1;
+		n = cmdline_filecnt - optind - 1;
 		if (*cmd == 'q' && n > 0) {
-			status_line_bold("%d more file(s) to edit", n);
+			status_line_bold("%u more file(s) to edit", n);
 			goto ret;
 		}
 		if (*cmd == 'n' && n <= 0) {
@@ -2662,7 +2662,7 @@ static void colon(char *buf)
 		li = count_lines(q, q + size - 1);
 		status_line("'%s'"
 			IF_FEATURE_VI_READONLY("%s")
-			" %dL, %dC",
+			" %uL, %uC",
 			fn,
 			IF_FEATURE_VI_READONLY((readonly_mode ? " [Readonly]" : ""),)
 			li, size
@@ -2834,7 +2834,7 @@ static void colon(char *buf)
 		} else {
 			// how many lines written
 			li = count_lines(q, q + l - 1);
-			status_line("'%s' %dL, %dC", fn, li, l);
+			status_line("'%s' %uL, %uC", fn, li, l);
 			if (l == size) {
 				if (q == text && q + l == end) {
 					modified_count = 0;
@@ -4368,23 +4368,22 @@ int vi_main(int argc, char **argv)
 		}
 	}
 
-	// The argv array can be used by the ":next"  and ":rewind" commands
 	argv += optind;
-	argc -= optind;
+	cmdline_filecnt = argc - optind;
 
-	//----- This is the main file handling loop --------------
-	save_argc = argc;
-	optind = 0;
 	// "Save cursor, use alternate screen buffer, clear screen"
 	write1(ESC"[?1049h");
+	// This is the main file handling loop
+	optind = 0;
 	while (1) {
-		edit_file(argv[optind]); // param might be NULL
-		if (++optind >= argc)
+		edit_file(argv[optind]); // might be NULL on 1st iteration
+		// NB: optind can be changed by ":next" and ":rewind" commands
+		optind++;
+		if (!argv[optind])
 			break;
 	}
 	// "Use normal screen buffer, restore cursor"
 	write1(ESC"[?1049l");
-	//-----------------------------------------------------------
 
 	return 0;
 }


More information about the busybox-cvs mailing list