/* Handle set and show GDB commands.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
if (param_changed == 0)
return 0;
- if (c->class == class_maintenance || c->class == class_deprecated
- || c->class == class_obscure)
+ if (c->theclass == class_maintenance || c->theclass == class_deprecated
+ || c->theclass == class_obscure)
return 0;
return 1;
{
case var_string:
{
- char *new;
+ char *newobj;
const char *p;
char *q;
int ch;
if (arg == NULL)
arg = "";
- new = (char *) xmalloc (strlen (arg) + 2);
+ newobj = (char *) xmalloc (strlen (arg) + 2);
p = arg;
- q = new;
+ q = newobj;
while ((ch = *p++) != '\000')
{
if (ch == '\\')
*q++ = ' ';
#endif
*q++ = '\0';
- new = (char *) xrealloc (new, q - new);
+ newobj = (char *) xrealloc (newobj, q - newobj);
if (*(char **) c->var == NULL
- || strcmp (*(char **) c->var, new) != 0)
+ || strcmp (*(char **) c->var, newobj) != 0)
{
xfree (*(char **) c->var);
- *(char **) c->var = new;
+ *(char **) c->var = newobj;
option_changed = 1;
}
else
- xfree (new);
+ xfree (newobj);
}
break;
case var_string_noescape:
int len;
int nmatches;
const char *match = NULL;
- char *p;
+ const char *p;
/* If no argument was supplied, print an informative error
message. */
for (i = 0; c->enums[i]; i++)
msg_len += strlen (c->enums[i]) + 2;
- msg = xmalloc (msg_len);
+ msg = (char *) xmalloc (msg_len);
*msg = '\0';
make_cleanup (xfree, msg);
p = p->prefix;
}
- cp = name = xmalloc (length);
- cmds = xmalloc (sizeof (struct cmd_list_element *) * i);
+ cp = name = (char *) xmalloc (length);
+ cmds = XNEWVEC (struct cmd_list_element *, i);
/* Track back through filed 'prefix' and cache them in CMDS. */
for (i = 0, p = c; p != NULL; i++)
break;
case var_boolean:
{
- char *opt = *(int *) c->var ? "on" : "off";
+ const char *opt = *(int *) c->var ? "on" : "off";
observer_notify_command_param_changed (name, opt);
}
code to print the value out. For the latter there should be
MI and CLI specific versions. */
- if (ui_out_is_mi_like_p (uiout))
- ui_out_field_stream (uiout, "value", stb);
+ if (uiout->is_mi_like_p ())
+ uiout->field_stream ("value", stb);
else
{
- char *value = ui_file_xstrdup (stb, NULL);
+ std::string value = ui_file_as_string (stb);
- make_cleanup (xfree, value);
if (c->show_value_func != NULL)
- c->show_value_func (gdb_stdout, from_tty, c, value);
+ c->show_value_func (gdb_stdout, from_tty, c, value.c_str ());
else
- deprecated_show_value_hack (gdb_stdout, from_tty, c, value);
+ deprecated_show_value_hack (gdb_stdout, from_tty, c, value.c_str ());
}
do_cleanups (old_chain);
{
struct cleanup *optionlist_chain
= make_cleanup_ui_out_tuple_begin_end (uiout, "optionlist");
- char *new_prefix = strstr (list->prefixname, "show ") + 5;
+ const char *new_prefix = strstr (list->prefixname, "show ") + 5;
- if (ui_out_is_mi_like_p (uiout))
- ui_out_field_string (uiout, "prefix", new_prefix);
+ if (uiout->is_mi_like_p ())
+ uiout->field_string ("prefix", new_prefix);
cmd_show_list (*list->prefixlist, from_tty, new_prefix);
/* Close the tuple. */
do_cleanups (optionlist_chain);
}
else
{
- if (list->class != no_set_class)
+ if (list->theclass != no_set_class)
{
struct cleanup *option_chain
= make_cleanup_ui_out_tuple_begin_end (uiout, "option");
- ui_out_text (uiout, prefix);
- ui_out_field_string (uiout, "name", list->name);
- ui_out_text (uiout, ": ");
+ uiout->text (prefix);
+ uiout->field_string ("name", list->name);
+ uiout->text (": ");
if (list->type == show_cmd)
do_show_command ((char *) NULL, from_tty, list);
else