[PATCH] gdb: Simplification in charset.c
Lukas Durfina
ldurfina@tachyum.com
Thu Feb 20 12:10:00 GMT 2020
Simplification of the code by using std::string.
Explicit memory allocation and releasing is removed.
gdb/Changelog:
2020-02-20 Lukas Durfina <ldurfina@tachyum.com>
* charset.c (find_charset_names): Simplify.
---
gdb/ChangeLog | 4 ++++
gdb/charset.c | 10 +++-------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e3f7e9f828..f5de45b992 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2020-02-20 Lukas Durfina <ldurfina@tachyum.com>
+
+ * charset.c (find_charset_names): Simplify.
+
2020-02-19 Tom Tromey <tom@tromey.com>
* symtab.c (general_symbol_info::compute_and_set_names): Use
diff --git a/gdb/charset.c b/gdb/charset.c
index 4e459c2b45..ffdc663f8b 100644
--- a/gdb/charset.c
+++ b/gdb/charset.c
@@ -804,7 +804,7 @@ find_charset_names (void)
int fail = 1;
int flags;
gdb_environ iconv_env = gdb_environ::from_host_environ ();
- char *iconv_program;
+ std::string iconv_program = "iconv";
/* Older iconvs, e.g. 2.2.2, don't omit the intro text if stdout is
not a tty. We need to recognize it and ignore it. This text is
@@ -818,13 +818,10 @@ find_charset_names (void)
{
std::string iconv_dir = relocate_gdb_directory (ICONV_BIN,
ICONV_BIN_RELOCATABLE);
- iconv_program
- = concat (iconv_dir.c_str(), SLASH_STRING, "iconv", (char *) NULL);
+ iconv_program = iconv_dir + SLASH_STRING + "iconv";
}
-#else
- iconv_program = xstrdup ("iconv");
#endif
- args[0] = iconv_program;
+ args[0] = iconv_program.c_str();
args[1] = "-l";
args[2] = NULL;
flags = PEX_STDERR_TO_STDOUT;
@@ -906,7 +903,6 @@ find_charset_names (void)
}
- xfree (iconv_program);
pex_free (child);
if (fail)
--
2.17.1
More information about the Gdb-patches
mailing list