]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Remove usage of VEC(char_ptr) in gdbscm_parse_function_args
authorSimon Marchi <simon.marchi@polymtl.ca>
Fri, 30 Mar 2018 21:18:56 +0000 (17:18 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Fri, 30 Mar 2018 21:18:56 +0000 (17:18 -0400)
This is a straightforward replacement, no change in behavior are
intended/expected.

This is the last usage of VEC(char_ptr), so it can now be removed.

gdb/ChangeLog:

* guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
with std::vector.
* common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.

gdb/ChangeLog
gdb/common/gdb_vecs.h
gdb/guile/scm-utils.c

index f96adf72be049b79add0b290eadfa5d96bb9e0c7..148b1876de59a5b49d1b8876ce1353bf59a052f5 100644 (file)
@@ -1,3 +1,9 @@
+2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
+       with std::vector.
+       * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
+
 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
 
        * tracepoint.h (struct uploaded_tp): Initialize fields.
index 7318e53132310561feda768a666cdb060eda1985..8bb70158f47e235b4f7b914d62524a00a939b36c 100644 (file)
@@ -25,8 +25,6 @@
 typedef char *char_ptr;
 typedef const char *const_char_ptr;
 
-DEF_VEC_P (char_ptr);
-
 DEF_VEC_P (const_char_ptr);
 
 /* Split STR, a list of DELIMITER-separated fields, into a char pointer vector.
index c31afc6f157b7b39aa35b26f4d18865ed0fa8b4e..73b0dec73ea56d2638429426a110c3a38e33c2c2 100644 (file)
@@ -386,7 +386,7 @@ gdbscm_parse_function_args (const char *func_name,
   SCM status;
   SCM rest = SCM_EOL;
   /* Keep track of malloc'd strings.  We need to free them upon error.  */
-  VEC (char_ptr) *allocated_strings = NULL;
+  std::vector<char *> allocated_strings;
   char *ptr;
 
   have_rest = validate_arg_format (format);
@@ -419,7 +419,7 @@ gdbscm_parse_function_args (const char *func_name,
          if (!gdbscm_is_false (status))
            goto fail;
          if (*p == 's')
-           VEC_safe_push (char_ptr, allocated_strings, *(char **) arg_ptr);
+           allocated_strings.push_back (*(char **) arg_ptr);
        }
       ++p;
       ++position;
@@ -485,10 +485,7 @@ gdbscm_parse_function_args (const char *func_name,
              if (!gdbscm_is_false (status))
                goto fail;
              if (p[i] == 's')
-               {
-                 VEC_safe_push (char_ptr, allocated_strings,
-                                *(char **) arg_ptr);
-               }
+               allocated_strings.push_back (*(char **) arg_ptr);
            }
        }
     }
@@ -516,14 +513,12 @@ gdbscm_parse_function_args (const char *func_name,
     }
 
   va_end (args);
-  VEC_free (char_ptr, allocated_strings);
   return;
 
  fail:
   va_end (args);
-  for (i = 0; VEC_iterate (char_ptr, allocated_strings, i, ptr); ++i)
+  for (char *ptr : allocated_strings)
     xfree (ptr);
-  VEC_free (char_ptr, allocated_strings);
   gdbscm_throw (status);
 }
 \f