color: make it easier for non-config to parse color specs
authorJeff King <peff@peff.net>
Sat, 17 Jan 2009 15:32:30 +0000 (10:32 -0500)
committerJunio C Hamano <gitster@pobox.com>
Sun, 18 Jan 2009 02:03:58 +0000 (18:03 -0800)
commit5ef8d77a752884f3c5fad9f143ce5cc72ff1340c
treecc540ee0d68dde1a2a0a25686a131a9ada561e0c
parent7bbd8d6c139f163ee26b8416cd227408888f31c3
color: make it easier for non-config to parse color specs

We have very featureful color-parsing routines which are
used for color.diff.* and other options. Let's make it
easier to use those routines from other parts of the code.

This patch adds a color_parse_mem() helper function which
takes a length-bounded string instead of a NUL-terminated
one. While the helper is only a few lines long, it is nice
to abstract this out so that:

 - callers don't forget to free() the temporary buffer

 - right now, it is implemented in terms of color_parse().
   But it would be more efficient to reverse this and
   implement color_parse in terms of color_parse_mem.

This also changes the error string for an invalid color not
to mention the word "config", since it is not always
appropriate (and when it is, the context is obvious since
the offending config variable is given).

Finally, while we are in the area, we clean up the parameter
names in the declaration of color_parse; the var and value
parameters were reversed from the actual implementation.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
color.c
color.h