diff options
author | Lars-Dominik Braun <lars@6xq.net> | 2015-05-10 16:01:38 +0200 |
---|---|---|
committer | Lars-Dominik Braun <lars@6xq.net> | 2015-05-10 16:01:38 +0200 |
commit | ad199eccf9334c8ee00f52686a0f401b82f402bc (patch) | |
tree | 8a1eb2b452d8fa453a9944e6c7db212a9414c04f /palettes.c | |
parent | b66dc836db66e9769f5c7142104c80fda6dd386b (diff) | |
download | pucket-ad199eccf9334c8ee00f52686a0f401b82f402bc.tar.gz pucket-ad199eccf9334c8ee00f52686a0f401b82f402bc.tar.bz2 pucket-ad199eccf9334c8ee00f52686a0f401b82f402bc.zip |
Use built-in palettes
This increases the binaries’ size, but we don’t have to parse the
palette file every time.
Diffstat (limited to 'palettes.c')
-rw-r--r-- | palettes.c | 18 |
1 files changed, 13 insertions, 5 deletions
@@ -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) { |