Make parse_debug_format_options return an std::string
authorSimon Marchi <simon.marchi@polymtl.ca>
Sun, 7 Jan 2018 15:50:48 +0000 (10:50 -0500)
committerSimon Marchi <simon.marchi@ericsson.com>
Sun, 7 Jan 2018 15:50:48 +0000 (10:50 -0500)
This avoid having to manually free the return value.

gdb/gdbserver/ChangeLog:

* server.c (parse_debug_format_options): Return std::string.
(handle_monitor_command, captured_main): Adjust.

gdb/gdbserver/ChangeLog
gdb/gdbserver/server.c

index 2299c8e15d1571ff0385a034f27bb669ec9bec2f..b9757c3ba48ab8f2f082bdcd0368a5b1ac0e0bb0 100644 (file)
@@ -1,3 +1,8 @@
+2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * server.c (parse_debug_format_options): Return std::string.
+       (handle_monitor_command, captured_main): Adjust.
+
 2018-01-05  Pedro Alves  <palves@redhat.com>
 
        PR gdb/18653
index 1a72123977cf5283c04530baf175ebd4f8f7aa8d..665d9aac6f4e9ae024566669024239f50debae2a 100644 (file)
@@ -1295,7 +1295,7 @@ handle_detach (char *own_buf)
    to gdb's "set debug foo on|off" because we also use this function to
    parse "--debug-format=foo,bar".  */
 
-static char *
+static std::string
 parse_debug_format_options (const char *arg, int is_monitor)
 {
   VEC (char_ptr) *options;
@@ -1338,8 +1338,8 @@ parse_debug_format_options (const char *arg, int is_monitor)
        }
       else
        {
-         char *msg = xstrprintf ("Unknown debug-format argument: \"%s\"\n",
-                                 option);
+         std::string msg
+           = string_printf ("Unknown debug-format argument: \"%s\"\n", option);
 
          free_char_ptr_vec (options);
          return msg;
@@ -1347,7 +1347,7 @@ parse_debug_format_options (const char *arg, int is_monitor)
     }
 
   free_char_ptr_vec (options);
-  return NULL;
+  return std::string ();
 }
 
 /* Handle monitor commands not handled by target-specific handlers.  */
@@ -1387,16 +1387,15 @@ handle_monitor_command (char *mon, char *own_buf)
     }
   else if (startswith (mon, "set debug-format "))
     {
-      char *error_msg
+      std::string error_msg
        = parse_debug_format_options (mon + sizeof ("set debug-format ") - 1,
                                      1);
 
-      if (error_msg != NULL)
+      if (!error_msg.empty ())
        {
-         monitor_output (error_msg);
+         monitor_output (error_msg.c_str ());
          monitor_show_help ();
          write_enn (own_buf);
-         xfree (error_msg);
        }
     }
   else if (strcmp (mon, "help") == 0)
@@ -3611,13 +3610,13 @@ captured_main (int argc, char *argv[])
        debug_threads = 1;
       else if (startswith (*next_arg, "--debug-format="))
        {
-         char *error_msg
+         std::string error_msg
            = parse_debug_format_options ((*next_arg)
                                          + sizeof ("--debug-format=") - 1, 0);
 
-         if (error_msg != NULL)
+         if (!error_msg.empty ())
            {
-             fprintf (stderr, "%s", error_msg);
+             fprintf (stderr, "%s", error_msg.c_str ());
              exit (1);
            }
        }