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:
parent
12973681f5
commit
1263a9d5f1
4 changed files with 21 additions and 14 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue