aboutsummaryrefslogtreecommitdiff
path: root/lib/mem/galloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mem/galloc.c')
-rw-r--r--lib/mem/galloc.c29
1 files changed, 23 insertions, 6 deletions
diff --git a/lib/mem/galloc.c b/lib/mem/galloc.c
index 642e010..ea4ea16 100644
--- a/lib/mem/galloc.c
+++ b/lib/mem/galloc.c
@@ -1,29 +1,46 @@
-#include <lib/mem/galloc.h>
+ #include <lib/mem/galloc.h>
#include <stdlib.h>
+#include <stdio.h>
static ssize_t standing_allocations = 0;
-void *g_malloc(size_t size) {
+void *_g_malloc(size_t size, char* file, unsigned int line) {
void *ptr = malloc(size);
if (ptr == NULL) {
return ptr;
}
+ fprintf(stderr, "+%p :a: %s:%d\n", ptr, file, line);
standing_allocations++;
return ptr;
}
-void *g_calloc(size_t n_memb, size_t size) {
+void *_g_calloc(size_t n_memb, size_t size, char* file, unsigned int line) {
void *ptr = calloc(n_memb, size);
if (ptr == NULL) {
return ptr;
}
+ fprintf(stderr, "+%p :c: %s:%d\n", ptr, file, line);
standing_allocations++;
return ptr;
}
-void g_free(void *ptr) {
- free(ptr);
- standing_allocations--;
+void *_g_realloc(void *ptr, size_t size, char* file, unsigned int line) {
+ fprintf(stderr, "-%p :r: %s:%d\n", ptr, file, line);
+ void* temp = realloc(ptr, size);
+ if (temp == NULL) {
+ fprintf(stderr, "+%p :r: %s:%d\n", ptr, file, line);
+ } else {
+ fprintf(stderr, "+%p :r: %s:%d\n", temp, file, line);
+ }
+ return temp;
+}
+
+void _g_free(void *ptr, char* file, unsigned int line) {
+ if (ptr != NULL) {
+ fprintf(stderr, "-%p :f: %s:%d\n", ptr, file, line);
+ free(ptr);
+ standing_allocations--;
+ }
}
ssize_t g_outstanding_allocations() { return standing_allocations; }