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>
* 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'
are dealt with directly. Therefore we can use these functions
to determine whether the command has been printed already or not. */
ATTRIBUTE_PRINTF (1, 2)
void
print_command_trace (const char *cmd)
print_command_trace (const char *fmt, ...)
{
int i;
@ -443,7 +444,12 @@ print_command_trace (const char *cmd)
for (i=0; i < command_nest_depth; i++)
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. */
@ -490,11 +496,7 @@ execute_control_command_1 (struct command_line *cmd)
case while_control:
{
int len = strlen (cmd->line) + 7;
char *buffer = (char *) alloca (len);
xsnprintf (buffer, len, "while %s", cmd->line);
print_command_trace (buffer);
print_command_trace ("while %s", cmd->line);
/* Parse the loop control expression for the while statement. */
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:
{
int len = strlen (cmd->line) + 4;
char *buffer = (char *) alloca (len);
xsnprintf (buffer, len, "if %s", cmd->line);
print_command_trace (buffer);
print_command_trace ("if %s", cmd->line);
/* Parse the conditional for the if statement. */
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 */
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 */

View File

@ -571,7 +571,7 @@ execute_command (const char *p, int from_tty)
line = p;
/* 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);
p = cmd;