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 <tom@tromey.com> * cli/cli-setshow.c (do_set_command): Use std::string.
This commit is contained in:
parent
6eecf35f97
commit
b57af50345
|
@ -1,3 +1,7 @@
|
||||||
|
2017-09-03 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* cli/cli-setshow.c (do_set_command): Use std::string.
|
||||||
|
|
||||||
2017-09-03 Tom Tromey <tom@tromey.com>
|
2017-09-03 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* cli/cli-cmds.c (cd_command): Use gdb::unique_xmalloc_ptr.
|
* cli/cli-cmds.c (cd_command): Use gdb::unique_xmalloc_ptr.
|
||||||
|
|
|
@ -367,24 +367,16 @@ do_set_command (const char *arg, int from_tty, struct cmd_list_element *c)
|
||||||
message. */
|
message. */
|
||||||
if (arg == NULL)
|
if (arg == NULL)
|
||||||
{
|
{
|
||||||
char *msg;
|
std::string 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);
|
|
||||||
|
|
||||||
for (i = 0; c->enums[i]; i++)
|
for (i = 0; c->enums[i]; i++)
|
||||||
{
|
{
|
||||||
if (i != 0)
|
if (i != 0)
|
||||||
strcat (msg, ", ");
|
msg += ", ";
|
||||||
strcat (msg, c->enums[i]);
|
msg += c->enums[i];
|
||||||
}
|
}
|
||||||
error (_("Requires an argument. Valid arguments are %s."),
|
error (_("Requires an argument. Valid arguments are %s."),
|
||||||
msg);
|
msg.c_str ());
|
||||||
}
|
}
|
||||||
|
|
||||||
p = strchr (arg, ' ');
|
p = strchr (arg, ' ');
|
||||||
|
|
Loading…
Reference in New Issue