diff options
author | ridiculousfish <corydoras@ridiculousfish.com> | 2013-09-21 15:15:06 -0700 |
---|---|---|
committer | ridiculousfish <corydoras@ridiculousfish.com> | 2013-09-21 15:15:06 -0700 |
commit | 73f1030bdeac8a92d7dc8e0d317ff11960cf9fa4 (patch) | |
tree | 65700bceb1e906a6dc8c0b3d4b927b3c0d9eb3d4 /builtin_set_color.cpp | |
parent | fdef82f89c744a219e0d2d524b3234fbc23b8fe7 (diff) |
Fix set_color crash on 'ignore' and 'reset'
Diffstat (limited to 'builtin_set_color.cpp')
-rw-r--r-- | builtin_set_color.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/builtin_set_color.cpp b/builtin_set_color.cpp index 14cf84ca..6e8f55b0 100644 --- a/builtin_set_color.cpp +++ b/builtin_set_color.cpp @@ -152,14 +152,14 @@ static int builtin_set_color(parser_t &parser, wchar_t **argv) } const rgb_color_t fg = rgb_color_t(fgcolor ? fgcolor : L""); - if (fgcolor && fg.is_none()) + if (fgcolor && (fg.is_none() || fg.is_ignore())) { append_format(stderr_buffer, _(L"%ls: Unknown color '%ls'\n"), argv[0], fgcolor); return STATUS_BUILTIN_ERROR; } const rgb_color_t bg = rgb_color_t(bgcolor ? bgcolor : L""); - if (bgcolor && bg.is_none()) + if (bgcolor && (bg.is_none() || bg.is_ignore())) { append_format(stderr_buffer, _(L"%ls: Unknown color '%ls'\n"), argv[0], bgcolor); return STATUS_BUILTIN_ERROR; @@ -212,7 +212,7 @@ static int builtin_set_color(parser_t &parser, wchar_t **argv) if (fgcolor != NULL) { - if (fg.is_normal()) + if (fg.is_normal() || fg.is_reset()) { write_foreground_color(0); writembs(tparm(exit_attribute_mode)); @@ -225,7 +225,7 @@ static int builtin_set_color(parser_t &parser, wchar_t **argv) if (bgcolor != NULL) { - if (! bg.is_normal()) + if (! bg.is_normal() && ! bg.is_reset()) { write_background_color(index_for_color(bg)); } |