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