summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2019-04-01 16:38:06 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2019-04-01 16:42:30 +0200
commit26f5e9d21ccf10ff447c68e4a28be2e723055356 (patch)
tree4a6d792bf9158516266ca12fede85499f59abd9d
parent2a57608f673698ddbde6704ef1f01f2fd443710b (diff)
downloadbusybox-w32-26f5e9d21ccf10ff447c68e4a28be2e723055356.tar.gz
busybox-w32-26f5e9d21ccf10ff447c68e4a28be2e723055356.tar.bz2
busybox-w32-26f5e9d21ccf10ff447c68e4a28be2e723055356.zip
vi: convert more /**/ comments to //
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--editors/vi.c118
1 files changed, 56 insertions, 62 deletions
diff --git a/editors/vi.c b/editors/vi.c
index af23ae7d2..fe907c841 100644
--- a/editors/vi.c
+++ b/editors/vi.c
@@ -5,19 +5,19 @@
5 * 5 *
6 * Licensed under GPLv2 or later, see file LICENSE in this source tree. 6 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
7 */ 7 */
8/* 8//
9 * Things To Do: 9//Things To Do:
10 * EXINIT 10// EXINIT
11 * $HOME/.exrc and ./.exrc 11// $HOME/.exrc and ./.exrc
12 * add magic to search /foo.*bar 12// add magic to search /foo.*bar
13 * add :help command 13// add :help command
14 * :map macros 14// :map macros
15 * if mark[] values were line numbers rather than pointers 15// if mark[] values were line numbers rather than pointers
16 * it would be easier to change the mark when add/delete lines 16// it would be easier to change the mark when add/delete lines
17 * More intelligence in refresh() 17// More intelligence in refresh()
18 * ":r !cmd" and "!cmd" to filter text through an external command 18// ":r !cmd" and "!cmd" to filter text through an external command
19 * An "ex" line oriented mode- maybe using "cmdedit" 19// An "ex" line oriented mode- maybe using "cmdedit"
20 */ 20
21//config:config VI 21//config:config VI
22//config: bool "vi (23 kb)" 22//config: bool "vi (23 kb)"
23//config: default y 23//config: default y
@@ -178,12 +178,12 @@
178//usage: "\n -H List available features" 178//usage: "\n -H List available features"
179 179
180#include "libbb.h" 180#include "libbb.h"
181/* Should be after libbb.h: on some systems regex.h needs sys/types.h: */ 181// Should be after libbb.h: on some systems regex.h needs sys/types.h:
182#if ENABLE_FEATURE_VI_REGEX_SEARCH 182#if ENABLE_FEATURE_VI_REGEX_SEARCH
183# include <regex.h> 183# include <regex.h>
184#endif 184#endif
185 185
186/* the CRASHME code is unmaintained, and doesn't currently build */ 186// the CRASHME code is unmaintained, and doesn't currently build
187#define ENABLE_FEATURE_VI_CRASHME 0 187#define ENABLE_FEATURE_VI_CRASHME 0
188 188
189 189
@@ -198,7 +198,7 @@
198 198
199#else 199#else
200 200
201/* 0x9b is Meta-ESC */ 201// 0x9b is Meta-ESC
202#if ENABLE_FEATURE_VI_8BIT 202#if ENABLE_FEATURE_VI_8BIT
203# define Isprint(c) ((unsigned char)(c) >= ' ' && (c) != 0x7f && (unsigned char)(c) != 0x9b) 203# define Isprint(c) ((unsigned char)(c) >= ' ' && (c) != 0x7f && (unsigned char)(c) != 0x9b)
204#else 204#else
@@ -218,29 +218,27 @@ enum {
218 MAX_SCR_ROWS = CONFIG_FEATURE_VI_MAX_LEN, 218 MAX_SCR_ROWS = CONFIG_FEATURE_VI_MAX_LEN,
219}; 219};
220 220
221/* VT102 ESC sequences. 221// VT102 ESC sequences.
222 * See "Xterm Control Sequences" 222// See "Xterm Control Sequences"
223 * http://invisible-island.net/xterm/ctlseqs/ctlseqs.html 223// http://invisible-island.net/xterm/ctlseqs/ctlseqs.html
224 */
225#define ESC "\033" 224#define ESC "\033"
226/* Inverse/Normal text */ 225// Inverse/Normal text
227#define ESC_BOLD_TEXT ESC"[7m" 226#define ESC_BOLD_TEXT ESC"[7m"
228#define ESC_NORM_TEXT ESC"[m" 227#define ESC_NORM_TEXT ESC"[m"
229/* Bell */ 228// Bell
230#define ESC_BELL "\007" 229#define ESC_BELL "\007"
231/* Clear-to-end-of-line */ 230// Clear-to-end-of-line
232#define ESC_CLEAR2EOL ESC"[K" 231#define ESC_CLEAR2EOL ESC"[K"
233/* Clear-to-end-of-screen. 232// Clear-to-end-of-screen.
234 * (We use default param here. 233// (We use default param here.
235 * Full sequence is "ESC [ <num> J", 234// Full sequence is "ESC [ <num> J",
236 * <num> is 0/1/2 = "erase below/above/all".) 235// <num> is 0/1/2 = "erase below/above/all".)
237 */
238#define ESC_CLEAR2EOS ESC"[J" 236#define ESC_CLEAR2EOS ESC"[J"
239/* Cursor to given coordinate (1,1: top left) */ 237// Cursor to given coordinate (1,1: top left)
240#define ESC_SET_CURSOR_POS ESC"[%u;%uH" 238#define ESC_SET_CURSOR_POS ESC"[%u;%uH"
241#define ESC_SET_CURSOR_TOPLEFT ESC"[H" 239#define ESC_SET_CURSOR_TOPLEFT ESC"[H"
242//UNUSED 240//UNUSED
243///* Cursor up and down */ 241//// Cursor up and down
244//#define ESC_CURSOR_UP ESC"[A" 242//#define ESC_CURSOR_UP ESC"[A"
245//#define ESC_CURSOR_DOWN "\n" 243//#define ESC_CURSOR_DOWN "\n"
246 244
@@ -267,17 +265,17 @@ enum {
267}; 265};
268 266
269 267
270/* vi.c expects chars to be unsigned. */ 268// vi.c expects chars to be unsigned.
271/* busybox build system provides that, but it's better */ 269// busybox build system provides that, but it's better
272/* to audit and fix the source */ 270// to audit and fix the source
273 271
274struct globals { 272struct globals {
275 /* many references - keep near the top of globals */ 273 // many references - keep near the top of globals
276 char *text, *end; // pointers to the user data in memory 274 char *text, *end; // pointers to the user data in memory
277 char *dot; // where all the action takes place 275 char *dot; // where all the action takes place
278 int text_size; // size of the allocated buffer 276 int text_size; // size of the allocated buffer
279 277
280 /* the rest */ 278 // the rest
281 smallint vi_setops; 279 smallint vi_setops;
282#define VI_AUTOINDENT 1 280#define VI_AUTOINDENT 1
283#define VI_SHOWMATCH 2 281#define VI_SHOWMATCH 2
@@ -286,7 +284,7 @@ struct globals {
286#define autoindent (vi_setops & VI_AUTOINDENT) 284#define autoindent (vi_setops & VI_AUTOINDENT)
287#define showmatch (vi_setops & VI_SHOWMATCH ) 285#define showmatch (vi_setops & VI_SHOWMATCH )
288#define ignorecase (vi_setops & VI_IGNORECASE) 286#define ignorecase (vi_setops & VI_IGNORECASE)
289/* indicate error with beep or flash */ 287// indicate error with beep or flash
290#define err_method (vi_setops & VI_ERR_METHOD) 288#define err_method (vi_setops & VI_ERR_METHOD)
291 289
292#if ENABLE_FEATURE_VI_READONLY 290#if ENABLE_FEATURE_VI_READONLY
@@ -334,14 +332,14 @@ struct globals {
334 char *last_search_pattern; // last pattern from a '/' or '?' search 332 char *last_search_pattern; // last pattern from a '/' or '?' search
335#endif 333#endif
336 334
337 /* former statics */ 335 // former statics
338#if ENABLE_FEATURE_VI_YANKMARK 336#if ENABLE_FEATURE_VI_YANKMARK
339 char *edit_file__cur_line; 337 char *edit_file__cur_line;
340#endif 338#endif
341 int refresh__old_offset; 339 int refresh__old_offset;
342 int format_edit_status__tot; 340 int format_edit_status__tot;
343 341
344 /* a few references only */ 342 // a few references only
345#if ENABLE_FEATURE_VI_YANKMARK 343#if ENABLE_FEATURE_VI_YANKMARK
346 smalluint YDreg;//,Ureg;// default delete register and orig line for "U" 344 smalluint YDreg;//,Ureg;// default delete register and orig line for "U"
347#define Ureg 27 345#define Ureg 27
@@ -368,9 +366,10 @@ struct globals {
368#if ENABLE_FEATURE_VI_DOT_CMD 366#if ENABLE_FEATURE_VI_DOT_CMD
369 char last_modifying_cmd[MAX_INPUT_LEN]; // last modifying cmd for "." 367 char last_modifying_cmd[MAX_INPUT_LEN]; // last modifying cmd for "."
370#endif 368#endif
371 char get_input_line__buf[MAX_INPUT_LEN]; /* former static */ 369 char get_input_line__buf[MAX_INPUT_LEN]; // former static
372 370
373 char scr_out_buf[MAX_SCR_COLS + MAX_TABSTOP * 2]; 371 char scr_out_buf[MAX_SCR_COLS + MAX_TABSTOP * 2];
372
374#if ENABLE_FEATURE_VI_UNDO 373#if ENABLE_FEATURE_VI_UNDO
375// undo_push() operations 374// undo_push() operations
376#define UNDO_INS 0 375#define UNDO_INS 0
@@ -397,7 +396,6 @@ struct globals {
397// If undo queuing disabled, don't invoke the missing queue logic 396// If undo queuing disabled, don't invoke the missing queue logic
398#define ALLOW_UNDO_QUEUED 1 397#define ALLOW_UNDO_QUEUED 1
399# endif 398# endif
400
401 struct undo_object { 399 struct undo_object {
402 struct undo_object *prev; // Linking back avoids list traversal (LIFO) 400 struct undo_object *prev; // Linking back avoids list traversal (LIFO)
403 int start; // Offset where the data should be restored/deleted 401 int start; // Offset where the data should be restored/deleted
@@ -1969,7 +1967,7 @@ static char *char_insert(char *p, char c, int undo) // insert the char c at 'p'
1969 undo_push_insert(p, 1, undo); 1967 undo_push_insert(p, 1, undo);
1970#else 1968#else
1971 modified_count++; 1969 modified_count++;
1972#endif /* ENABLE_FEATURE_VI_UNDO */ 1970#endif
1973 p++; 1971 p++;
1974 } else if (c == 27) { // Is this an ESC? 1972 } else if (c == 27) { // Is this an ESC?
1975 cmd_mode = 0; 1973 cmd_mode = 0;
@@ -1997,7 +1995,7 @@ static char *char_insert(char *p, char c, int undo) // insert the char c at 'p'
1997 undo_push_insert(p, 1, undo); 1995 undo_push_insert(p, 1, undo);
1998#else 1996#else
1999 modified_count++; 1997 modified_count++;
2000#endif /* ENABLE_FEATURE_VI_UNDO */ 1998#endif
2001 p += 1 + stupid_insert(p, c); // insert the char 1999 p += 1 + stupid_insert(p, c); // insert the char
2002#if ENABLE_FEATURE_VI_SETOPTS 2000#if ENABLE_FEATURE_VI_SETOPTS
2003 if (showmatch && strchr(")]}", c) != NULL) { 2001 if (showmatch && strchr(")]}", c) != NULL) {
@@ -2777,7 +2775,7 @@ static void colon(char *buf)
2777 bias = string_insert(found, R, ALLOW_UNDO_CHAIN); 2775 bias = string_insert(found, R, ALLOW_UNDO_CHAIN);
2778 found += bias; 2776 found += bias;
2779 ls += bias; 2777 ls += bias;
2780 /*q += bias; - recalculated anyway */ 2778 //q += bias; - recalculated anyway
2781 // check for "global" :s/foo/bar/g 2779 // check for "global" :s/foo/bar/g
2782 if (gflag == 'g') { 2780 if (gflag == 'g') {
2783 if ((found + len_R) < end_line(ls)) { 2781 if ((found + len_R) < end_line(ls)) {
@@ -2873,18 +2871,14 @@ static void colon(char *buf)
2873#endif /* FEATURE_VI_COLON */ 2871#endif /* FEATURE_VI_COLON */
2874} 2872}
2875 2873
2876//----- Helper Utility Routines --------------------------------
2877
2878//----------------------------------------------------------------
2879//----- Char Routines -------------------------------------------- 2874//----- Char Routines --------------------------------------------
2880/* Chars that are part of a word- 2875// Chars that are part of a word-
2881 * 0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 2876// 0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
2882 * Chars that are Not part of a word (stoppers) 2877// Chars that are Not part of a word (stoppers)
2883 * !"#$%&'()*+,-./:;<=>?@[\]^`{|}~ 2878// !"#$%&'()*+,-./:;<=>?@[\]^`{|}~
2884 * Chars that are WhiteSpace 2879// Chars that are WhiteSpace
2885 * TAB NEWLINE VT FF RETURN SPACE 2880// TAB NEWLINE VT FF RETURN SPACE
2886 * DO NOT COUNT NEWLINE AS WHITESPACE 2881// DO NOT COUNT NEWLINE AS WHITESPACE
2887 */
2888 2882
2889static char *new_screen(int ro, int co) 2883static char *new_screen(int ro, int co)
2890{ 2884{
@@ -3242,7 +3236,7 @@ static void do_cmd(int c)
3242 dot_skip_over_ws(); 3236 dot_skip_over_ws();
3243 } while (--cmdcnt > 0); 3237 } while (--cmdcnt > 0);
3244 break; 3238 break;
3245 case 21: // ctrl-U scroll up half screen 3239 case 21: // ctrl-U scroll up half screen
3246 dot_scroll((rows - 2) / 2, -1); 3240 dot_scroll((rows - 2) / 2, -1);
3247 break; 3241 break;
3248 case 25: // ctrl-Y scroll up one line 3242 case 25: // ctrl-Y scroll up one line
@@ -3251,7 +3245,7 @@ static void do_cmd(int c)
3251 case 27: // esc 3245 case 27: // esc
3252 if (cmd_mode == 0) 3246 if (cmd_mode == 0)
3253 indicate_error(); 3247 indicate_error();
3254 cmd_mode = 0; // stop insrting 3248 cmd_mode = 0; // stop inserting
3255 undo_queue_commit(); 3249 undo_queue_commit();
3256 end_cmd_q(); 3250 end_cmd_q();
3257 last_status_cksum = 0; // force status update 3251 last_status_cksum = 0; // force status update
@@ -3948,7 +3942,7 @@ static void do_cmd(int c)
3948 dot--; 3942 dot--;
3949} 3943}
3950 3944
3951/* NB! the CRASHME code is unmaintained, and doesn't currently build */ 3945// NB! the CRASHME code is unmaintained, and doesn't currently build
3952#if ENABLE_FEATURE_VI_CRASHME 3946#if ENABLE_FEATURE_VI_CRASHME
3953static int totalcmds = 0; 3947static int totalcmds = 0;
3954static int Mp = 85; // Movement command Probability 3948static int Mp = 85; // Movement command Probability
@@ -4253,7 +4247,7 @@ static void edit_file(char *fn)
4253 crash_dummy(); // generate a random command 4247 crash_dummy(); // generate a random command
4254 } else { 4248 } else {
4255 crashme = 0; 4249 crashme = 0;
4256 string_insert(text, "\n\n##### Ran out of text to work on. #####\n\n", NO_UNDO); // insert the string 4250 string_insert(text, "\n\n##### Ran out of text to work on. #####\n\n", NO_UNDO);
4257 dot = text; 4251 dot = text;
4258 refresh(FALSE); 4252 refresh(FALSE);
4259 } 4253 }
@@ -4268,8 +4262,8 @@ static void edit_file(char *fn)
4268 } 4262 }
4269#endif 4263#endif
4270#if ENABLE_FEATURE_VI_DOT_CMD 4264#if ENABLE_FEATURE_VI_DOT_CMD
4271 // These are commands that change text[]. 4265 // If c is a command that changes text[],
4272 // Remember the input for the "." command 4266 // (re)start remembering the input for the "." command.
4273 if (!adding2q 4267 if (!adding2q
4274 && ioq_start == NULL 4268 && ioq_start == NULL
4275 && cmd_mode == 0 // command mode 4269 && cmd_mode == 0 // command mode
@@ -4310,10 +4304,10 @@ int vi_main(int argc, char **argv)
4310 INIT_G(); 4304 INIT_G();
4311 4305
4312#if ENABLE_FEATURE_VI_UNDO 4306#if ENABLE_FEATURE_VI_UNDO
4313 /* undo_stack_tail = NULL; - already is */ 4307 //undo_stack_tail = NULL; - already is
4314# if ENABLE_FEATURE_VI_UNDO_QUEUE 4308# if ENABLE_FEATURE_VI_UNDO_QUEUE
4315 undo_queue_state = UNDO_EMPTY; 4309 undo_queue_state = UNDO_EMPTY;
4316 /* undo_q = 0; - already is */ 4310 //undo_q = 0; - already is
4317# endif 4311# endif
4318#endif 4312#endif
4319 4313