]> git.sur5r.net Git - i3/i3/commitdiff
Hex in struct Colorpixel.hex to contiguous memory
authorEvilPudding <jota.rod@hotmail.com>
Wed, 13 Apr 2016 15:53:15 +0000 (15:53 +0000)
committerEvilPudding <jota.rod@hotmail.com>
Wed, 3 Aug 2016 13:09:58 +0000 (13:09 +0000)
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.

libi3/get_colorpixel.c

index a0a9e3453ef2676f327f6eedfae3024362473636..218f82e6f5c25ce1eac70d2c1b5d43f4c427d612 100644 (file)
@@ -13,7 +13,7 @@
 #include "libi3.h"
 
 struct Colorpixel {
-    char *hex;
+    char hex[8];
     uint32_t pixel;
 
     SLIST_ENTRY(Colorpixel)
@@ -74,7 +74,7 @@ uint32_t get_colorpixel(const char *hex) {
 
     /* 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);