Change memory allocation API to require size for free and realloc.

This commit is contained in:
Damien
2013-12-29 19:33:23 +00:00
parent a1c8e5737c
commit 732407f1bf
22 changed files with 57 additions and 52 deletions

View File

@@ -5,12 +5,6 @@
static int total_bytes_allocated = 0;
void m_free(void *ptr) {
if (ptr != NULL) {
free(ptr);
}
}
void *m_malloc(int num_bytes) {
if (num_bytes == 0) {
return NULL;
@@ -37,20 +31,26 @@ void *m_malloc0(int num_bytes) {
return ptr;
}
void *m_realloc(void *ptr, int num_bytes) {
if (num_bytes == 0) {
void *m_realloc(void *ptr, int old_num_bytes, int new_num_bytes) {
if (new_num_bytes == 0) {
free(ptr);
return NULL;
}
ptr = realloc(ptr, num_bytes);
ptr = realloc(ptr, new_num_bytes);
if (ptr == NULL) {
printf("could not allocate memory, reallocating %d bytes\n", num_bytes);
printf("could not allocate memory, reallocating %d bytes\n", new_num_bytes);
return NULL;
}
total_bytes_allocated += num_bytes;
total_bytes_allocated += new_num_bytes;
return ptr;
}
void m_free(void *ptr, int num_bytes) {
if (ptr != NULL) {
free(ptr);
}
}
int m_get_total_bytes_allocated(void) {
return total_bytes_allocated;
}