mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-19 15:31:28 +00:00
fixes #3720
This commit is contained in:
@@ -417,10 +417,10 @@ void linenoiseAddCompletion(linenoiseCompletions *lc, const char *str) {
|
||||
size_t len = strlen(str);
|
||||
char *copy, **cvec;
|
||||
|
||||
copy = malloc(len+1);
|
||||
copy = (char*)malloc(len+1);
|
||||
if (copy == NULL) return;
|
||||
memcpy(copy,str,len+1);
|
||||
cvec = realloc(lc->cvec,sizeof(char*)*(lc->len+1));
|
||||
cvec = (char**)realloc(lc->cvec,sizeof(char*)*(lc->len+1));
|
||||
if (cvec == NULL) {
|
||||
free(copy);
|
||||
return;
|
||||
@@ -446,11 +446,11 @@ static void abInit(struct abuf *ab) {
|
||||
}
|
||||
|
||||
static void abAppend(struct abuf *ab, const char *s, int len) {
|
||||
char *new = realloc(ab->b,ab->len+len);
|
||||
char *neww = (char*)realloc(ab->b,ab->len+len);
|
||||
|
||||
if (new == NULL) return;
|
||||
memcpy(new+ab->len,s,len);
|
||||
ab->b = new;
|
||||
if (neww == NULL) return;
|
||||
memcpy(neww+ab->len,s,len);
|
||||
ab->b = neww;
|
||||
ab->len += len;
|
||||
}
|
||||
|
||||
@@ -1016,7 +1016,7 @@ int linenoiseHistoryAdd(const char *line) {
|
||||
|
||||
/* Initialization on first call. */
|
||||
if (history == NULL) {
|
||||
history = malloc(sizeof(char*)*history_max_len);
|
||||
history = (char**)malloc(sizeof(char*)*history_max_len);
|
||||
if (history == NULL) return 0;
|
||||
memset(history,0,(sizeof(char*)*history_max_len));
|
||||
}
|
||||
@@ -1043,14 +1043,14 @@ int linenoiseHistoryAdd(const char *line) {
|
||||
* just the latest 'len' elements if the new history length value is smaller
|
||||
* than the amount of items already inside the history. */
|
||||
int linenoiseHistorySetMaxLen(int len) {
|
||||
char **new;
|
||||
char **neww;
|
||||
|
||||
if (len < 1) return 0;
|
||||
if (history) {
|
||||
int tocopy = history_len;
|
||||
|
||||
new = malloc(sizeof(char*)*len);
|
||||
if (new == NULL) return 0;
|
||||
neww = (char**)malloc(sizeof(char*)*len);
|
||||
if (neww == NULL) return 0;
|
||||
|
||||
/* If we can't copy everything, free the elements we'll not use. */
|
||||
if (len < tocopy) {
|
||||
@@ -1059,10 +1059,10 @@ int linenoiseHistorySetMaxLen(int len) {
|
||||
for (j = 0; j < tocopy-len; j++) free(history[j]);
|
||||
tocopy = len;
|
||||
}
|
||||
memset(new,0,sizeof(char*)*len);
|
||||
memcpy(new,history+(history_len-tocopy), sizeof(char*)*tocopy);
|
||||
memset(neww,0,sizeof(char*)*len);
|
||||
memcpy(neww,history+(history_len-tocopy), sizeof(char*)*tocopy);
|
||||
free(history);
|
||||
history = new;
|
||||
history = neww;
|
||||
}
|
||||
history_max_len = len;
|
||||
if (history_len > history_max_len)
|
||||
|
||||
Reference in New Issue
Block a user