/*
- * Adds one color sequence to array with color scheme,
- * @seq and @name have to be allocated strings
+ * Adds one color sequence to array with color scheme.
+ * When returning success (0) this function takes ownership of
+ * @seq and @name, which have to be allocated strings.
*/
static int colors_add_scheme(struct ul_color_ctl *cc,
char *name,
DBG(SCHEME, ul_debug("add '%s'", name));
rc = cn_sequence(seq0, &seq);
- free(seq0);
if (rc)
return rc;
cc->schemes_sz = cc->nschemes + 10;
}
+ free(seq0);
+
/* add a new item */
cs = &cc->schemes[cc->nschemes++];
cs->name = name;