aboutsummaryrefslogtreecommitdiffstats
path: root/aligned_memdup.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2018-11-25 23:05:59 +0100
committerMattias Andrée <maandree@kth.se>2018-11-25 23:06:03 +0100
commitd8ccc87fed8a4c588e4ad9279e62925f416d36b3 (patch)
treef02a2138183c53ab95ef96dafeba75ebd9c0c422 /aligned_memdup.c
parentInclude wchar.h and wctype.h (diff)
downloadlibsimple-d8ccc87fed8a4c588e4ad9279e62925f416d36b3.tar.gz
libsimple-d8ccc87fed8a4c588e4ad9279e62925f416d36b3.tar.bz2
libsimple-d8ccc87fed8a4c588e4ad9279e62925f416d36b3.tar.xz
Some fixes and add wide-character string duplication functions
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'aligned_memdup.c')
-rw-r--r--aligned_memdup.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/aligned_memdup.c b/aligned_memdup.c
index d66a846..ec06c38 100644
--- a/aligned_memdup.c
+++ b/aligned_memdup.c
@@ -6,9 +6,9 @@
void *
libsimple_aligned_memdup(const void *s, size_t alignment, size_t n)
{
+ size_t size = n + (alignment - n % alignment) % alignment;
void *ret;
- n = n ? n : 1;
- ret = aligned_alloc(alignment, n + (alignment - n % alignment) % alignment);
+ ret = aligned_alloc(alignment, size ? size : alignment);
if (!ret)
return NULL;
return memcpy(ret, s, n);