2012/2/28 Ramsay Jones <ramsay@xxxxxxxxxxxxxxxxxxx>: > Nguyễn Thái Ngọc Duy wrote: > [...] >> +static int parse_option(const char *arg, int len, >> + unsigned int *mode, int stdout_is_tty) >> +{ >> + struct colopt opts[] = { >> + { ENABLE, "always", 1 }, >> + { ENABLE, "never", 0 }, >> + { ENABLE, "auto", -1 }, >> + }; > > Hmm, I don't recognise this table from last time ... > >> + } >> + } >> + >> + name_len = strlen(opts[i].name); >> + if (arg_len != name_len || >> + strncmp(arg_str, opts[i].name, name_len)) >> + continue; >> + >> + switch (opts[i].type) { >> + case ENABLE: >> + return set_enable_bit(mode, opts[i].value, >> + stdout_is_tty); > > given the above table, can the following case limbs ever be reached? > (the "no" prefix is only applied to the OPTION type, so most of the > above code seems to be useless now ...) Not in this patch, no. The table is extended later on with more modes and options. > >> + case MODE: >> + return set_mode(mode, opts[i].value); >> + case OPTION: >> + return set_option(mode, opts[i].value, set); >> + default: >> + die("BUG: Unknown option type %d", opts[i].type); >> + } >> + } >> + >> + return error("unsupported style '%s'", arg); >> +} >> + -- Duy ��.n��������+%������w��{.n��������n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�