No reason for hex not to be of a constant size, and
no reason to introduce a cache miss by allocating it
separated from the rest of the structure.
#include "libi3.h"
struct Colorpixel {
- char *hex;
+ char hex[8];
uint32_t pixel;
SLIST_ENTRY(Colorpixel)
/* Store the result in the cache */
struct Colorpixel *cache_pixel = scalloc(1, sizeof(struct Colorpixel));
- cache_pixel->hex = sstrdup(hex);
+ strncpy(cache_pixel->hex, hex, 8);
cache_pixel->pixel = pixel;
SLIST_INSERT_HEAD(&(colorpixels), cache_pixel, colorpixels);