diff options
Diffstat (limited to 'src/buffer.c')
| -rw-r--r-- | src/buffer.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/buffer.c b/src/buffer.c index bf1b49e6ff4..fd2de4a2408 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -4669,7 +4669,11 @@ mmap_realloc (var, nbytes) | |||
| 4669 | else if (room - nbytes >= mmap_page_size) | 4669 | else if (room - nbytes >= mmap_page_size) |
| 4670 | { | 4670 | { |
| 4671 | /* Shrinking by at least a page. Let's give some | 4671 | /* Shrinking by at least a page. Let's give some |
| 4672 | memory back to the system. */ | 4672 | memory back to the system. |
| 4673 | |||
| 4674 | The extra parens are to make the division happens first, | ||
| 4675 | on positive values, so we know it will round towards | ||
| 4676 | zero. */ | ||
| 4673 | mmap_enlarge (r, - ((room - nbytes) / mmap_page_size)); | 4677 | mmap_enlarge (r, - ((room - nbytes) / mmap_page_size)); |
| 4674 | result = *var; | 4678 | result = *var; |
| 4675 | r->nbytes_specified = nbytes; | 4679 | r->nbytes_specified = nbytes; |