X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=color.c;h=0e2beeb0cac4f703668a666db4b57ab954c27c0e;hp=bd09446c17ef9a7654b65960e165c85c14d7097b;hb=e79198e9851faddfd64e47654b5bc66fbc574255;hpb=11018ebcc1cb1c002fc3488d247a43774ca408d7 diff --git a/color.c b/color.c index bd09446c..0e2beeb0 100644 --- a/color.c +++ b/color.c @@ -1,7 +1,7 @@ /** \file color.c Functions for printing colored messages. */ /* - * Mostly taken from the git source tree, version 1.6.1.76, January 2008. + * Mostly taken from the git source tree, version 1.6.1.76, January 2009. */ #include "para.h" @@ -47,11 +47,9 @@ static int parse_attr(const char *name, int len) * \param value Human-readable color spec. * \param dst Result pointer for the escape sequence. * - * \return -1 on errors, 1 on success. - * * Format of \a value: [fg [bg]] [attr]. */ -int color_parse(const char *value, char *dst) +void color_parse_or_die(const char *value, char *dst) { const char *ptr = value; int attr = -1; @@ -60,7 +58,7 @@ int color_parse(const char *value, char *dst) if (!strcasecmp(value, "reset")) { strcpy(dst, COLOR_RESET); - return 1; + return; } /* [fg [bg]] [attr] */ @@ -68,11 +66,11 @@ int color_parse(const char *value, char *dst) const char *word = ptr; int val, len = 0; - while (word[len] && !isspace(word[len])) + while (word[len] && !para_isspace(word[len])) len++; ptr = word + len; - while (*ptr && isspace(*ptr)) + while (*ptr && para_isspace(*ptr)) ptr++; val = parse_color(word, len); @@ -113,7 +111,7 @@ int color_parse(const char *value, char *dst) } } if (bg >= 0) { - if (sep++) + if (sep) *dst++ = ';'; if (bg < 8) { *dst++ = '4'; @@ -125,8 +123,8 @@ int color_parse(const char *value, char *dst) *dst++ = 'm'; } *dst = 0; - return 1; + return; bad: - PARA_ERROR_LOG("bad color value '%s'\n", value); - return -1; + PARA_EMERG_LOG("bad color value '%s'\n", value); + exit(EXIT_FAILURE); }