Patch from Steve Merrifield <steve@labyrinth.net.au> to make vi

use xmalloc
This commit is contained in:
Eric Andersen 2001-11-17 06:57:42 +00:00
parent 26f8e95d2d
commit 80f5ac7016

View File

@ -19,7 +19,7 @@
*/ */
static const char vi_Version[] = static const char vi_Version[] =
"$Id: vi.c,v 1.17 2001/11/12 16:57:26 kraai Exp $"; "$Id: vi.c,v 1.18 2001/11/17 06:57:42 andersen Exp $";
/* /*
* To compile for standalone use: * To compile for standalone use:
@ -324,7 +324,7 @@ extern int vi_main(int argc, char **argv)
#ifdef CONFIG_FEATURE_VI_CRASHME #ifdef CONFIG_FEATURE_VI_CRASHME
(void) srand((long) getpid()); (void) srand((long) getpid());
#endif /* CONFIG_FEATURE_VI_CRASHME */ #endif /* CONFIG_FEATURE_VI_CRASHME */
status_buffer = (Byte *) malloc(200); // hold messages to user status_buffer = (Byte *) xmalloc(200); // hold messages to user
#ifdef CONFIG_FEATURE_VI_READONLY #ifdef CONFIG_FEATURE_VI_READONLY
vi_readonly = readonly = FALSE; vi_readonly = readonly = FALSE;
if (strncmp(argv[0], "view", 4) == 0) { if (strncmp(argv[0], "view", 4) == 0) {
@ -2492,7 +2492,7 @@ static Byte *new_screen(int ro, int co)
if (screen != 0) if (screen != 0)
free(screen); free(screen);
screensize = ro * co + 8; screensize = ro * co + 8;
screen = (Byte *) malloc(screensize); screen = (Byte *) xmalloc(screensize);
// initialize the new screen. assume this will be a empty file. // initialize the new screen. assume this will be a empty file.
screen_erase(); screen_erase();
// non-existant text[] lines start with a tilde (~). // non-existant text[] lines start with a tilde (~).
@ -2510,7 +2510,7 @@ static Byte *new_text(int size)
//text -= 4; //text -= 4;
free(text); free(text);
} }
text = (Byte *) malloc(size + 8); text = (Byte *) xmalloc(size + 8);
memset(text, '\0', size); // clear new text[] memset(text, '\0', size); // clear new text[]
//text += 4; // leave some room for "oops" //text += 4; // leave some room for "oops"
textend = text + size - 1; textend = text + size - 1;
@ -3028,7 +3028,7 @@ static void start_new_cmd_q(Byte c)
if (last_modifying_cmd != 0) if (last_modifying_cmd != 0)
free(last_modifying_cmd); free(last_modifying_cmd);
// get buffer for new cmd // get buffer for new cmd
last_modifying_cmd = (Byte *) malloc(BUFSIZ); last_modifying_cmd = (Byte *) xmalloc(BUFSIZ);
memset(last_modifying_cmd, '\0', BUFSIZ); // clear new cmd queue memset(last_modifying_cmd, '\0', BUFSIZ); // clear new cmd queue
// if there is a current cmd count put it in the buffer first // if there is a current cmd count put it in the buffer first
if (cmdcnt > 0) if (cmdcnt > 0)
@ -3084,7 +3084,7 @@ static Byte *text_yank(Byte * p, Byte * q, int dest) // copy text into a registe
if (t != 0) { // if already a yank register if (t != 0) { // if already a yank register
free(t); // free it free(t); // free it
} }
t = (Byte *) malloc(cnt + 1); // get a new register t = (Byte *) xmalloc(cnt + 1); // get a new register
memset(t, '\0', cnt + 1); // clear new text[] memset(t, '\0', cnt + 1); // clear new text[]
strncpy((char *) t, (char *) p, cnt); // copy text[] into bufer strncpy((char *) t, (char *) p, cnt); // copy text[] into bufer
reg[dest] = t; reg[dest] = t;