From ad199eccf9334c8ee00f52686a0f401b82f402bc Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Sun, 10 May 2015 16:01:38 +0200 Subject: Use built-in palettes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This increases the binaries’ size, but we don’t have to parse the palette file every time. --- palettes.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'palettes.c') diff --git a/palettes.c b/palettes.c index 1e927e4..6da1fc5 100644 --- a/palettes.c +++ b/palettes.c @@ -121,11 +121,19 @@ const palette *palette_random (const palette_collection * const pc, } void palette_copy (const palette * restrict const src, palette * restrict const dest) { - dest->count = src->count; - int ret = posix_memalign ((void **) &dest->color, sizeof (*dest->color), - sizeof (*dest->color) * dest->count); - assert (ret == 0 && dest->color != NULL); - memcpy (dest->color, src->color, dest->count * sizeof (*dest->color)); + assert (src != NULL); + assert (dest != NULL); + + *dest = *src; + if (src->name != NULL) { + dest->name = strdup (src->name); + } + if (src->color != NULL) { + int ret = posix_memalign ((void **) &dest->color, sizeof (*dest->color), + sizeof (*dest->color) * dest->count); + assert (ret == 0 && dest->color != NULL); + memcpy (dest->color, src->color, dest->count * sizeof (*dest->color)); + } } void palette_rotate_hue (palette * const p, double rot) { -- cgit v1.2.3