version 1.46, 2016/07/19 06:43:27 |
version 1.47, 2017/03/25 23:13:45 |
|
|
} |
} |
|
|
static bool |
static bool |
reallocate_lines(size_t *lines_allocated) |
reallocate_lines(size_t *lines_allocatedp) |
{ |
{ |
char **p; |
char **p; |
size_t new_size; |
size_t new_size; |
|
|
new_size = *lines_allocated * 3 / 2; |
new_size = *lines_allocatedp * 3 / 2; |
p = reallocarray(i_ptr, new_size + 2, sizeof(char *)); |
p = reallocarray(i_ptr, new_size + 2, sizeof(char *)); |
if (p == NULL) { /* shucks, it was a near thing */ |
if (p == NULL) { /* shucks, it was a near thing */ |
munmap(i_womp, i_size); |
munmap(i_womp, i_size); |
i_womp = NULL; |
i_womp = NULL; |
free(i_ptr); |
free(i_ptr); |
i_ptr = NULL; |
i_ptr = NULL; |
*lines_allocated = 0; |
*lines_allocatedp = 0; |
return false; |
return false; |
} |
} |
*lines_allocated = new_size; |
*lines_allocatedp = new_size; |
i_ptr = p; |
i_ptr = p; |
return true; |
return true; |
} |
} |