vi: don't use common_bufsiz as read buffer, it can be too small

(found by Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>)
This commit is contained in:
Denis Vlasenko 2007-12-09 04:13:43 +00:00
parent b851c42a14
commit a96425fe82

View File

@ -184,6 +184,7 @@ struct globals {
#if ENABLE_FEATURE_VI_COLON
char *initial_cmds[3]; // currently 2 entries, NULL terminated
#endif
char readbuffer[MAX_LINELEN];
};
#define G (*ptr_to_globals)
#define text (G.text )
@ -200,6 +201,10 @@ struct globals {
#define term_orig (G.term_orig )
#define term_vi (G.term_vi )
#define initial_cmds (G.initial_cmds )
#define readbuffer (G.readbuffer )
#define INIT_G() do { \
PTR_TO_GLOBALS = xzalloc(sizeof(G)); \
} while (0)
static int init_text_buffer(char *); // init from file or create new
static void edit_file(char *); // edit one file
@ -321,7 +326,7 @@ int vi_main(int argc, char **argv)
my_pid = getpid();
#endif
PTR_TO_GLOBALS = xzalloc(sizeof(G));
INIT_G();
#if ENABLE_FEATURE_VI_CRASHME
srand((long) my_pid);
@ -2142,8 +2147,6 @@ static int mysleep(int hund) // sleep for 'h' 1/100 seconds
return safe_poll(pfd, 1, hund*10) > 0;
}
#define readbuffer bb_common_bufsiz1
static int readed_for_parse;
//----- IO Routines --------------------------------------------