From 7162c5eed91a8e22a4b768110011df28bfd86455 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Thu, 13 Jul 2017 15:58:03 +0200 Subject: forgot to add test_malloc.c remove buffer memory functions again (can be done with a simple cast in the caller) --- src/kernel/memorymanagement.c | 10 ---------- src/kernel/memorymanagement.h | 1 - tests/libc/test_malloc.c | 24 ++++++++++++++++++++++++ 3 files changed, 24 insertions(+), 11 deletions(-) create mode 100644 tests/libc/test_malloc.c diff --git a/src/kernel/memorymanagement.c b/src/kernel/memorymanagement.c index bc7252e..c56d2b9 100644 --- a/src/kernel/memorymanagement.c +++ b/src/kernel/memorymanagement.c @@ -14,16 +14,6 @@ void memory_manager_init( memory_manager_t *memory_manager, size_t offset, size_ memory_manager->prev_ptr = 0xFFFFFFFF; } -void memory_manager_init_with_buf( memory_manager_t *memory_manager, void *buf, size_t size ) -{ - memset( memory_manager, 0, sizeof( memory_manager_t ) ); - - memory_manager->offset = (uint32_t)buf; - memory_manager->size = size; - memory_manager->free_ptr = memory_manager->offset; - memory_manager->prev_ptr = 0xFFFFFFFF; -} - void *memory_manager_allocate( memory_manager_t *memory_manager, size_t size ) { void *p = NULL; diff --git a/src/kernel/memorymanagement.h b/src/kernel/memorymanagement.h index 5ea2618..647c05d 100644 --- a/src/kernel/memorymanagement.h +++ b/src/kernel/memorymanagement.h @@ -11,7 +11,6 @@ typedef struct { } memory_manager_t; void memory_manager_init( memory_manager_t *memory_manager, size_t offset, size_t size ); -void memory_manager_init_with_buf( memory_manager_t *memory_manager, void *buf, size_t size ); void *memory_manager_allocate( memory_manager_t *memory_manager, size_t size ); void memory_manager_deallocate( memory_manager_t *memory_manager, void **p ); diff --git a/tests/libc/test_malloc.c b/tests/libc/test_malloc.c new file mode 100644 index 0000000..0f74fad --- /dev/null +++ b/tests/libc/test_malloc.c @@ -0,0 +1,24 @@ +#include "stdlib.h" +#include "string.h" + +#define HEAP_SIZE 128 * 1024 + +int main( void ) +{ + memory_manager_t memory_manager; + char buf[HEAP_SIZE]; + uint32_t heap_offset = (uint32_t)&buf; + size_t heap_size = HEAP_SIZE; + memory_manager_init( &memory_manager, heap_offset, heap_size ); + __stdlib_set_memory_manager( &memory_manager ); + + char *s; + char *s1 = "test_string"; + + s = (char *)malloc( strlen( s1 ) + 1 ); + size_t n = strlcpy( s, s1, strlen( s1 ) + 1 ); + if( n != 11 ) return 1; + if( strcmp( s, s1 ) != 0 ) return 1; + + return 0; +} -- cgit v1.2.3-54-g00ecf