diff options
-rw-r--r-- | Makefile | 7 | ||||
-rw-r--r-- | examples/main.c (renamed from main.c) | 0 | ||||
-rw-r--r-- | magic_buddy/buddy.h (renamed from buddy.h) | 0 | ||||
-rw-r--r-- | magic_buddy/magic_buddy.c (renamed from magic_buddy.c) | 3 |
4 files changed, 6 insertions, 4 deletions
@@ -2,12 +2,13 @@ CFLAGS += -g CFLAGS += -O3 +CFLAGS += -I./magic_buddy # CFLAGS += -fsanitize=address -all: build/magic +all: build/examples/main -build/magic: main.c magic_buddy.c - @ mkdir -p build +build/examples/%: examples/%.c magic_buddy/magic_buddy.c + @ mkdir -p $(dir $@) $(CC) $(CFLAGS) $^ -o $@ clean: diff --git a/buddy.h b/magic_buddy/buddy.h index c8778d6..c8778d6 100644 --- a/buddy.h +++ b/magic_buddy/buddy.h diff --git a/magic_buddy.c b/magic_buddy/magic_buddy.c index 868bfd7..80bc069 100644 --- a/magic_buddy.c +++ b/magic_buddy/magic_buddy.c @@ -201,7 +201,8 @@ void *reallocate(void *old, size_t old_size, size_t new_size, struct buddy *state) { if (new_size == 0) return liberate(old, old_size, state), (void*)0; - if (size < sizeof(struct free_block)) size = sizeof(struct free_block); + if (new_size < sizeof(struct free_block)) + new_size = sizeof(struct free_block); size_t old_logsize = size2log(old_size, 1); size_t new_logsize = size2log(new_size, 1); |