Make print_command_trace varargs

I noticed some code in execute_control_command_1 that could be
simplified by making print_command_trace a printf-like function.  This
patch makes this change.

ChangeLog
2018-05-04  Tom Tromey  <tom@tromey.com>

	* top.c (execute_command): Update.
	* cli/cli-script.h (print_command_lines): Now varargs.
	* cli/cli-script.c (print_command_lines): Now varargs.
	(execute_control_command_1) <case while_control, case if_control>:
	Update.
This commit is contained in:
Tom Tromey 2018-04-18 15:40:57 -06:00
parent 12973681f5
commit 1263a9d5f1
4 changed files with 21 additions and 14 deletions

View file

@ -1,3 +1,11 @@
2018-05-04 Tom Tromey <tom@tromey.com>
* top.c (execute_command): Update.
* cli/cli-script.h (print_command_lines): Now varargs.
* cli/cli-script.c (print_command_lines): Now varargs.
(execute_control_command_1) <case while_control, case if_control>:
Update.
2018-05-04 Tom Tromey <tom@tromey.com> 2018-05-04 Tom Tromey <tom@tromey.com>
* tracepoint.c (all_tracepoint_actions): Rename from * tracepoint.c (all_tracepoint_actions): Rename from

View file

@ -426,8 +426,9 @@ reset_command_nest_depth (void)
via while_command or if_command. Inner levels of 'if' and 'while' via while_command or if_command. Inner levels of 'if' and 'while'
are dealt with directly. Therefore we can use these functions are dealt with directly. Therefore we can use these functions
to determine whether the command has been printed already or not. */ to determine whether the command has been printed already or not. */
ATTRIBUTE_PRINTF (1, 2)
void void
print_command_trace (const char *cmd) print_command_trace (const char *fmt, ...)
{ {
int i; int i;
@ -443,7 +444,12 @@ print_command_trace (const char *cmd)
for (i=0; i < command_nest_depth; i++) for (i=0; i < command_nest_depth; i++)
printf_filtered ("+"); printf_filtered ("+");
printf_filtered ("%s\n", cmd); va_list args;
va_start (args, fmt);
vprintf_filtered (fmt, args);
va_end (args);
puts_filtered ("\n");
} }
/* Helper for execute_control_command. */ /* Helper for execute_control_command. */
@ -490,11 +496,7 @@ execute_control_command_1 (struct command_line *cmd)
case while_control: case while_control:
{ {
int len = strlen (cmd->line) + 7; print_command_trace ("while %s", cmd->line);
char *buffer = (char *) alloca (len);
xsnprintf (buffer, len, "while %s", cmd->line);
print_command_trace (buffer);
/* Parse the loop control expression for the while statement. */ /* Parse the loop control expression for the while statement. */
std::string new_line = insert_user_defined_cmd_args (cmd->line); std::string new_line = insert_user_defined_cmd_args (cmd->line);
@ -555,11 +557,7 @@ execute_control_command_1 (struct command_line *cmd)
case if_control: case if_control:
{ {
int len = strlen (cmd->line) + 4; print_command_trace ("if %s", cmd->line);
char *buffer = (char *) alloca (len);
xsnprintf (buffer, len, "if %s", cmd->line);
print_command_trace (buffer);
/* Parse the conditional for the if statement. */ /* Parse the conditional for the if statement. */
std::string new_line = insert_user_defined_cmd_args (cmd->line); std::string new_line = insert_user_defined_cmd_args (cmd->line);

View file

@ -148,7 +148,8 @@ extern std::string insert_user_defined_cmd_args (const char *line);
/* Exported to top.c */ /* Exported to top.c */
extern void print_command_trace (const char *cmd); extern void print_command_trace (const char *cmd, ...)
ATTRIBUTE_PRINTF (1, 2);
/* Exported to event-top.c */ /* Exported to event-top.c */

View file

@ -571,7 +571,7 @@ execute_command (const char *p, int from_tty)
line = p; line = p;
/* If trace-commands is set then this will print this command. */ /* If trace-commands is set then this will print this command. */
print_command_trace (p); print_command_trace ("%s", p);
c = lookup_cmd (&cmd, cmdlist, "", 0, 1); c = lookup_cmd (&cmd, cmdlist, "", 0, 1);
p = cmd; p = cmd;