Stefan Beller <sbel...@google.com> writes:

>  
> -static int parse_color_moved_ws(const char *arg)
> +static unsigned parse_color_moved_ws(const char *arg)
>  {
>       int ret = 0;
>       struct string_list l = STRING_LIST_INIT_DUP;
> @@ -312,15 +312,19 @@ static int parse_color_moved_ws(const char *arg)
>                       ret |= XDF_IGNORE_WHITESPACE;
>               else if (!strcmp(sb.buf, "allow-indentation-change"))
>                       ret |= COLOR_MOVED_WS_ALLOW_INDENTATION_CHANGE;
> -             else
> +             else {
> +                     ret |= COLOR_MOVED_WS_ERROR;
>                       error(_("ignoring unknown color-moved-ws mode '%s'"), 
> sb.buf);
> +             }
> ...  
>       } else if (skip_prefix(arg, "--color-moved-ws=", &arg)) {
> -             options->color_moved_ws_handling = parse_color_moved_ws(arg);
> +             unsigned cm = parse_color_moved_ws(arg);
> +             if (cm & COLOR_MOVED_WS_ERROR)
> +                     die("bad --color-moved-ws argument: %s", arg);
> +             options->color_moved_ws_handling = cm;

Excellent.

Will queue.  Perhaps a test or two can follow to ensure a bad value
from config does not kill while a command line does?

Thanks.

Reply via email to