[PATCH] Remove an xfree from add_path
Tom Tromey
tom@tromey.com
Tue Dec 7 04:42:45 GMT 2021
This removes a temporary \0 assignment and an xfree from add_path,
replacing it with a simpler use of std::string.
---
gdb/source.c | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/gdb/source.c b/gdb/source.c
index 3810af83042..d91389e28b7 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -660,15 +660,10 @@ add_path (const char *dirname, char **which_path, int parse_separators)
more. */
if (prefix)
{
- char *temp, c;
-
- c = old[prefix];
- old[prefix] = '\0';
- temp = concat (old, tinybuf, name, (char *)NULL);
- old[prefix] = c;
- *which_path = concat (temp, "", &old[prefix], (char *) NULL);
- prefix = strlen (temp);
- xfree (temp);
+ std::string temp (old, prefix);
+ *which_path = concat (temp.c_str (), tinybuf, name, &old[prefix],
+ (char *) nullptr);
+ prefix = temp.length ();
}
else
{
--
2.31.1
More information about the Gdb-patches
mailing list