summaryrefslogtreecommitdiff
path: root/palettes.c
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2015-05-10 16:01:38 +0200
committerLars-Dominik Braun <lars@6xq.net>2015-05-10 16:01:38 +0200
commitad199eccf9334c8ee00f52686a0f401b82f402bc (patch)
tree8a1eb2b452d8fa453a9944e6c7db212a9414c04f /palettes.c
parentb66dc836db66e9769f5c7142104c80fda6dd386b (diff)
downloadpucket-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.c18
1 files changed, 13 insertions, 5 deletions
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) {