diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 1442a712b36..325cd8461ea 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2017-06-29 Anton Kolesov + + * arc-dis.c (parse_disassembler_options): Use + FOR_EACH_DISASSEMBLER_OPTION. + 2017-06-29 Anton Kolesov * arc-dis.c (parse_option): Use disassembler_options_cmp to compare diff --git a/opcodes/arc-dis.c b/opcodes/arc-dis.c index b46424a7c5f..addd75c4676 100644 --- a/opcodes/arc-dis.c +++ b/opcodes/arc-dis.c @@ -823,6 +823,8 @@ parse_cpu_option (const char *option) static void parse_disassembler_options (const char *options) { + const char *option; + if (options == NULL) return; @@ -832,25 +834,15 @@ parse_disassembler_options (const char *options) CPU when new options are being parsed. */ enforced_isa_mask = ARC_OPCODE_NONE; - while (*options) + FOR_EACH_DISASSEMBLER_OPTION (option, options) { - /* Skip empty options. */ - if (*options == ',') - { - ++ options; - continue; - } - /* A CPU option? Cannot use STRING_COMMA_LEN because strncmp is also a preprocessor macro. */ - if (strncmp (options, "cpu=", 4) == 0) + if (strncmp (option, "cpu=", 4) == 0) /* Strip leading `cpu=`. */ - enforced_isa_mask = parse_cpu_option (options + 4); + enforced_isa_mask = parse_cpu_option (option + 4); else - parse_option (options); - - while (*options != ',' && *options != '\0') - ++ options; + parse_option (option); } }