diff options
author | Denis Vlasenko | 2007-03-22 22:22:10 +0000 |
---|---|---|
committer | Denis Vlasenko | 2007-03-22 22:22:10 +0000 |
commit | 58875aefe4662f83273a787db5aae3ed3abd470a (patch) | |
tree | d28f81d979f0c9fedf630b8bb0af27145bc1b72d /editors/vi.c | |
parent | d0587ed9666d2d3aa65c42007ae93244cfc58568 (diff) | |
download | busybox-58875aefe4662f83273a787db5aae3ed3abd470a.zip busybox-58875aefe4662f83273a787db5aae3ed3abd470a.tar.gz |
assorted fixes uncovered by randomconfig runs
Diffstat (limited to 'editors/vi.c')
-rw-r--r-- | editors/vi.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/editors/vi.c b/editors/vi.c index 863735e..8533032 100644 --- a/editors/vi.c +++ b/editors/vi.c @@ -260,7 +260,9 @@ static void crash_dummy(); static void crash_test(); static int crashme = 0; #endif +#if ENABLE_FEATURE_VI_COLON static char *initial_cmds[] = { NULL, NULL , NULL }; // currently 2 entries, NULL terminated +#endif static void write1(const char *out) @@ -307,12 +309,14 @@ int vi_main(int argc, char **argv) // 1- process $HOME/.exrc file (not inplemented yet) // 2- process EXINIT variable from environment // 3- process command line args +#if ENABLE_FEATURE_VI_COLON { char *p = getenv("EXINIT"); if (p && *p) initial_cmds[0] = xstrdup(p); } - while ((c = getopt(argc, argv, "hCRc:")) != -1) { +#endif + while ((c = getopt(argc, argv, "hCR" USE_FEATURE_VI_COLON("c:"))) != -1) { switch (c) { #if ENABLE_FEATURE_VI_CRASHME case 'C': @@ -328,11 +332,13 @@ int vi_main(int argc, char **argv) //case 'r': // recover flag- ignore- we don't use tmp file //case 'x': // encryption flag- ignore //case 'c': // execute command first +#if ENABLE_FEATURE_VI_COLON case 'c': // cmd line vi command if (*optarg) initial_cmds[initial_cmds[0] != 0] = xstrdup(optarg); break; //case 'h': // help -- just use default +#endif default: show_help(); return 1; @@ -431,6 +437,7 @@ static void edit_file(char * fn) redraw(FALSE); // dont force every col re-draw show_status_line(); +#if ENABLE_FEATURE_VI_COLON { char *p, *q; int n = 0; @@ -450,6 +457,7 @@ static void edit_file(char * fn) n++; } } +#endif //------This is the main Vi cmd handling loop ----------------------- while (editing > 0) { #if ENABLE_FEATURE_VI_CRASHME @@ -938,7 +946,9 @@ static void colon(char * buf) } #if ENABLE_FEATURE_VI_SET } else if (strncasecmp(cmd, "set", i) == 0) { // set or clear features +#if ENABLE_FEATURE_VI_SETOPTS char *argp; +#endif i = 0; // offset into args // only blank is regarded as args delmiter. What about tab '\t' ? if (!args[0] || strcasecmp(args, "all") == 0) { |