summaryrefslogtreecommitdiffhomepage
path: root/editors/vi.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-04-16 22:13:55 -0700
committerDenys Vlasenko <vda.linux@googlemail.com>2010-04-16 22:13:55 -0700
commit04cecd5e614f89b9e65a4d8141ec75053f563ad9 (patch)
tree8b77d05937faed40cc6145c1ff21c7d7762f7286 /editors/vi.c
parent2bb651ae10e36999949812d3ac4f7789ed665037 (diff)
vi: code shrink
function old new delta vi_main 250 242 -8 colon 2980 2970 -10 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-18) Total: -18 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'editors/vi.c')
-rw-r--r--editors/vi.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/editors/vi.c b/editors/vi.c
index 94d36ae99..28612508f 100644
--- a/editors/vi.c
+++ b/editors/vi.c
@@ -458,12 +458,10 @@ int vi_main(int argc, char **argv)
save_argc = argc;
//----- This is the main file handling loop --------------
- if (optind >= argc) {
- edit_file(0);
- } else {
- for (; optind < argc; optind++) {
- edit_file(argv[optind]);
- }
+ while (1) {
+ edit_file(argv[optind]); /* param might be NULL */
+ if (++optind >= argc)
+ break;
}
//-----------------------------------------------------------
@@ -955,6 +953,7 @@ static void colon(char *buf)
} else if (strncmp(cmd, "quit", i) == 0 // Quit
|| strncmp(cmd, "next", i) == 0 // edit next file
) {
+ int n;
if (useforce) {
// force end of argv list
if (*cmd == 'q') {
@@ -970,11 +969,12 @@ static void colon(char *buf)
goto vc1;
}
// are there other file to edit
- if (*cmd == 'q' && optind < save_argc - 1) {
- status_line_bold("%d more file to edit", (save_argc - optind - 1));
+ n = save_argc - optind - 1;
+ if (*cmd == 'q' && n > 0) {
+ status_line_bold("%d more file(s) to edit", n);
goto vc1;
}
- if (*cmd == 'n' && optind >= save_argc - 1) {
+ if (*cmd == 'n' && n <= 0) {
status_line_bold("No more files to edit");
goto vc1;
}