[1/2] Make ada-lang.c::add_angle_brackets return an std::string
Commit Message
This removes the need for manual memory management. It may also be a
bit more efficient, since the returned string can be moved all the way
into the destination, in ada_lookup_name_info::matches.
gdb/ChangeLog:
* ada-lang.c (add_angle_brackets): Return std::string.
---
gdb/ada-lang.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
Comments
On 2018-08-19 9:50 p.m., Simon Marchi wrote:
> This removes the need for manual memory management. It may also be a
> bit more efficient, since the returned string can be moved all the way
> into the destination, in ada_lookup_name_info::matches.
>
> gdb/ChangeLog:
>
> * ada-lang.c (add_angle_brackets): Return std::string.
> ---
> gdb/ada-lang.c | 11 +++--------
> 1 file changed, 3 insertions(+), 8 deletions(-)
>
> diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
> index db5334dd1e00..d9d3087642bc 100644
> --- a/gdb/ada-lang.c
> +++ b/gdb/ada-lang.c
> @@ -541,17 +541,12 @@ ada_unqualified_name (const char *decoded_name)
> return result;
> }
>
> -/* Return a string starting with '<', followed by STR, and '>'.
> - The result is good until the next call. */
> +/* Return a string starting with '<', followed by STR, and '>'. */
>
> -static char *
> +static std::string
> add_angle_brackets (const char *str)
> {
> - static char *result = NULL;
> -
> - xfree (result);
> - result = xstrprintf ("<%s>", str);
> - return result;
> + return string_printf ("<%s>", str);
> }
>
> static const char *
>
I pushed these two patches.
Simon
@@ -541,17 +541,12 @@ ada_unqualified_name (const char *decoded_name)
return result;
}
-/* Return a string starting with '<', followed by STR, and '>'.
- The result is good until the next call. */
+/* Return a string starting with '<', followed by STR, and '>'. */
-static char *
+static std::string
add_angle_brackets (const char *str)
{
- static char *result = NULL;
-
- xfree (result);
- result = xstrprintf ("<%s>", str);
- return result;
+ return string_printf ("<%s>", str);
}
static const char *