diff options
author | David Robillard <d@drobilla.net> | 2019-04-09 10:28:59 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2019-04-13 19:48:23 +0200 |
commit | d4a61bf102a9d62ea2ef9ed886cae5f666ea7607 (patch) | |
tree | e1b3c8f8782372b1e135ec22f884d84491c0eb27 /src/system.h | |
parent | a1bd26b8ed3572e6b9e6647c092ed87b31771736 (diff) | |
download | serd-d4a61bf102a9d62ea2ef9ed886cae5f666ea7607.tar.gz serd-d4a61bf102a9d62ea2ef9ed886cae5f666ea7607.tar.bz2 serd-d4a61bf102a9d62ea2ef9ed886cae5f666ea7607.zip |
Allocate nodes with posix_memalign when available
This fixes platforms where the system malloc returns memory that is not aligned
to sizeof(SerdNode) (128 bits).
Diffstat (limited to 'src/system.h')
-rw-r--r-- | src/system.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/system.h b/src/system.h index f17eb278..dcb5dbaa 100644 --- a/src/system.h +++ b/src/system.h @@ -1,5 +1,5 @@ /* - Copyright 2011-2018 David Robillard <http://drobilla.net> + Copyright 2011-2019 David Robillard <http://drobilla.net> Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above @@ -38,6 +38,12 @@ serd_file_read_byte(void* buf, size_t size, size_t nmemb, void* stream) return 1; } +/** Allocate a buffer aligned to `alignment` bytes. */ +void* serd_malloc_aligned(size_t size, size_t alignment); + +/** Allocate a zeroed buffer aligned to `alignment` bytes. */ +void* serd_calloc_aligned(size_t size, size_t alignment); + /** Allocate an aligned buffer for I/O. */ void* serd_allocate_buffer(size_t size); |