Skip to content
Snippets Groups Projects
Commit 43f1c808 authored by Paul Sokolovsky's avatar Paul Sokolovsky
Browse files

m_realloc: Account only allocation size difference in total_bytes_allocated.

parent 4b57fac1
No related branches found
No related tags found
No related merge requests found
...@@ -41,7 +41,12 @@ void *m_realloc(void *ptr, int old_num_bytes, int new_num_bytes) { ...@@ -41,7 +41,12 @@ void *m_realloc(void *ptr, int old_num_bytes, int new_num_bytes) {
printf("could not allocate memory, reallocating %d bytes\n", new_num_bytes); printf("could not allocate memory, reallocating %d bytes\n", new_num_bytes);
return NULL; return NULL;
} }
total_bytes_allocated += new_num_bytes; // At first thought, "Total bytes allocated" should only grow,
// after all, it's *total*. But consider for example 2K block
// shrunk to 1K and then grown to 2K again. It's still 2K
// allocated total. If we process only positive increments,
// we'll count 3K.
total_bytes_allocated += new_num_bytes - old_num_bytes;
return ptr; return ptr;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment