diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 35eb1dd..8d3e42f 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,5 +1,10 @@ + + + diff --git a/main.c b/main.c index 62c293e..1774a16 100644 --- a/main.c +++ b/main.c @@ -1,11 +1,19 @@ #include #include #include +<<<<<<< HEAD #include +======= +#include +>>>>>>> origin/main #define ALIGN16(s) (((s) + 15) & ~0x0F) #define BLOCK_SIZE sizeof(struct block) +<<<<<<< HEAD #define MINIMUM_BLOCK_SIZE (sizeof(struct block) + 16) +======= +#define MINIMUM_BLOCK_SIZE 4 +>>>>>>> origin/main /// The memory block's header. struct block @@ -28,12 +36,18 @@ struct block *extend_heap(size_t s) if (s < MINIMUM_BLOCK_SIZE) s = MINIMUM_BLOCK_SIZE; +<<<<<<< HEAD struct block *b = (struct block *)sbrk(0); // Get the current break // Add the size of the block header to the requested size s += BLOCK_SIZE; if (sbrk(s) == (void *)-1) // Extend the break by s bytes +======= + struct block* b = (struct block*)syscall(SYS_brk, NULL); + + if ((void*)syscall(SYS_brk, (char*)(b + 1) + s) == (void*)-1) +>>>>>>> origin/main return NULL; b->size = s; @@ -269,6 +283,7 @@ int main() printf("Test 1: %i\n", *a); printf("Test 2: %i\n", *b); + printf("Heap Size: %zu Bytes\n", get_heap_size()); free(a); free(b);