2007-08-03 Michael Snyder <msnyder@access-company.com>
authorMichael Snyder <msnyder@vmware.com>
Sat, 4 Aug 2007 03:00:40 +0000 (03:00 +0000)
committerMichael Snyder <msnyder@vmware.com>
Sat, 4 Aug 2007 03:00:40 +0000 (03:00 +0000)
* mi-cmd-var.c (mi_cmd_var_delete): Remove unused variable,
stop memory leak, straighten out cleanups.

gdb/ChangeLog
gdb/mi/mi-cmd-var.c

index b816273..fd8b262 100644 (file)
@@ -1,5 +1,8 @@
 2007-08-03  Michael Snyder  <msnyder@access-company.com>
 
+       * mi-cmd-var.c (mi_cmd_var_delete): Remove unused variable,
+       stop memory leak, straighten out cleanups.
+
        * jv-lang.c (java_link_class_type): Guard against NULL.
 
 2007-08-02  Michael Snyder  <msnyder@access-company.com>
index be3160c..12d69ad 100644 (file)
@@ -139,7 +139,6 @@ enum mi_cmd_result
 mi_cmd_var_delete (char *command, char **argv, int argc)
 {
   char *name;
-  char *expr;
   struct varobj *var;
   int numdel;
   int children_only_p = 0;
@@ -167,13 +166,12 @@ mi_cmd_var_delete (char *command, char **argv, int argc)
      which would be the variable name. */
   if (argc == 2)
     {
-      expr = xstrdup (argv[1]);
       if (strcmp (name, "-c") != 0)
        error (_("mi_cmd_var_delete: Invalid option."));
       children_only_p = 1;
-      xfree (name);
-      name = xstrdup (expr);
-      xfree (expr);
+      do_cleanups (old_cleanups);
+      name = xstrdup (argv[1]);
+      make_cleanup (free_current_contents, &name);
     }
 
   /* If we didn't error out, now NAME contains the name of the