Class-ify ui_out
[deliverable/binutils-gdb.git] / gdb / cli / cli-setshow.c
index 8d01b52472d293fc43fac69c44226b083ce77a53..5f2cd03cfcbd34a41b5f7a7e96b0c98386a5e773 100644 (file)
@@ -1,6 +1,6 @@
 /* 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
@@ -361,7 +361,7 @@ do_set_command (const char *arg, int from_tty, struct cmd_list_element *c)
        int len;
        int nmatches;
        const char *match = NULL;
-       char *p;
+       const char *p;
 
        /* If no argument was supplied, print an informative error
           message.  */
@@ -373,7 +373,7 @@ do_set_command (const char *arg, int from_tty, struct cmd_list_element *c)
            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);
 
@@ -475,8 +475,8 @@ do_set_command (const char *arg, int from_tty, struct cmd_list_element *c)
 
          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++)
@@ -523,7 +523,7 @@ do_set_command (const char *arg, int from_tty, struct cmd_list_element *c)
          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);
          }
@@ -649,17 +649,16 @@ do_show_command (const char *arg, int from_tty, struct cmd_list_element *c)
      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);
 
@@ -683,10 +682,10 @@ cmd_show_list (struct cmd_list_element *list, int from_tty, const char *prefix)
        {
          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);
@@ -698,9 +697,9 @@ cmd_show_list (struct cmd_list_element *list, int from_tty, const char *prefix)
              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
This page took 0.026844 seconds and 4 git commands to generate.