From b57af50345945f32e6615391ac62a4f589c0fada Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 13 Aug 2017 14:45:17 -0600 Subject: [PATCH] Use std::string in do_set_command Change do_set_command to use std::string, removing a cleanup and some manual resizing code. ChangeLog 2017-09-03 Tom Tromey * cli/cli-setshow.c (do_set_command): Use std::string. --- gdb/ChangeLog | 4 ++++ gdb/cli/cli-setshow.c | 16 ++++------------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6d6dad15ff5..ba1397f9fdf 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2017-09-03 Tom Tromey + + * cli/cli-setshow.c (do_set_command): Use std::string. + 2017-09-03 Tom Tromey * cli/cli-cmds.c (cd_command): Use gdb::unique_xmalloc_ptr. diff --git a/gdb/cli/cli-setshow.c b/gdb/cli/cli-setshow.c index fb0bd490f50..c6e5ebc49b9 100644 --- a/gdb/cli/cli-setshow.c +++ b/gdb/cli/cli-setshow.c @@ -367,24 +367,16 @@ do_set_command (const char *arg, int from_tty, struct cmd_list_element *c) message. */ if (arg == NULL) { - char *msg; - int msg_len = 0; - - for (i = 0; c->enums[i]; i++) - msg_len += strlen (c->enums[i]) + 2; - - msg = (char *) xmalloc (msg_len); - *msg = '\0'; - make_cleanup (xfree, msg); + std::string msg; for (i = 0; c->enums[i]; i++) { if (i != 0) - strcat (msg, ", "); - strcat (msg, c->enums[i]); + msg += ", "; + msg += c->enums[i]; } error (_("Requires an argument. Valid arguments are %s."), - msg); + msg.c_str ()); } p = strchr (arg, ' '); -- 2.30.2