diff options
Diffstat (limited to 'gdb/cli')
-rw-r--r-- | gdb/cli/cli-setshow.c | 83 |
1 files changed, 13 insertions, 70 deletions
diff --git a/gdb/cli/cli-setshow.c b/gdb/cli/cli-setshow.c index 8d29c0c..42c2b15 100644 --- a/gdb/cli/cli-setshow.c +++ b/gdb/cli/cli-setshow.c @@ -360,26 +360,12 @@ do_set_command (const char *arg, int from_tty, struct cmd_list_element *c) *q++ = '\0'; newobj = (char *) xrealloc (newobj, q - newobj); - const std::string &cur_val = c->var->get<std::string> (); - if (strcmp (cur_val.c_str(), newobj) != 0) - { - c->var->set<std::string> (std::string (newobj)); - - option_changed = true; - } + option_changed = c->var->set<std::string> (std::string (newobj)); xfree (newobj); } break; case var_string_noescape: - { - const std::string &cur_val = c->var->get<std::string> (); - if (strcmp (cur_val.c_str (), arg) != 0) - { - c->var->set<std::string> (std::string (arg)); - - option_changed = true; - } - } + option_changed = c->var->set<std::string> (std::string (arg)); break; case var_filename: if (*arg == '\0') @@ -405,13 +391,8 @@ do_set_command (const char *arg, int from_tty, struct cmd_list_element *c) else val = xstrdup (""); - const std::string &cur_val = c->var->get<std::string> (); - if (strcmp (cur_val.c_str (), val) != 0) - { - c->var->set<std::string> (std::string (val)); - - option_changed = true; - } + option_changed + = c->var->set<std::string> (std::string (val)); xfree (val); } break; @@ -421,39 +402,18 @@ do_set_command (const char *arg, int from_tty, struct cmd_list_element *c) if (val < 0) error (_("\"on\" or \"off\" expected.")); - if (val != c->var->get<bool> ()) - { - c->var->set<bool> (val); - option_changed = true; - } + option_changed = c->var->set<bool> (val); } break; case var_auto_boolean: - { - enum auto_boolean val = parse_auto_binary_operation (arg); - - if (c->var->get<enum auto_boolean> () != val) - { - c->var->set<enum auto_boolean> (val); - - option_changed = true; - } - } + option_changed = c->var->set<enum auto_boolean> (parse_auto_binary_operation (arg)); break; case var_uinteger: case var_zuinteger: - { - unsigned int val - = parse_cli_var_uinteger (c->var->type (), &arg, true); - - if (c->var->get<unsigned int> () != val) - { - c->var->set<unsigned int> (val); - - option_changed = true; - } - } + option_changed + = c->var->set<unsigned int> (parse_cli_var_uinteger (c->var->type (), + &arg, true)); break; case var_integer: case var_zinteger: @@ -483,12 +443,7 @@ do_set_command (const char *arg, int from_tty, struct cmd_list_element *c) || (c->var->type () == var_zinteger && val > INT_MAX)) error (_("integer %s out of range"), plongest (val)); - if (c->var->get<int> () != val) - { - c->var->set<int> (val); - - option_changed = true; - } + option_changed = c->var->set<int> (val); } break; case var_enum: @@ -501,24 +456,12 @@ do_set_command (const char *arg, int from_tty, struct cmd_list_element *c) if (*after != '\0') error (_("Junk after item \"%.*s\": %s"), len, arg, after); - if (c->var->get<const char *> () != match) - { - c->var->set<const char *> (match); - - option_changed = true; - } + option_changed = c->var->set<const char *> (match); } break; case var_zuinteger_unlimited: - { - int val = parse_cli_var_zuinteger_unlimited (&arg, true); - - if (c->var->get<int> () != val) - { - c->var->set<int> (val); - option_changed = true; - } - } + option_changed = c->var->set<int> + (parse_cli_var_zuinteger_unlimited (&arg, true)); break; default: error (_("gdb internal error: bad var_type in do_setshow_command")); |