From: Doug Evans <xdje42@gmail.com>
To: gdb-patches@sourceware.org
Subject: [commit] cli/cli-script.c (multi_line_command_p): New function.
Date: Sat, 23 Nov 2013 22:41:00 -0000 [thread overview]
Message-ID: <m3txf2nb9l.fsf@sspiff.org> (raw)
Hi.
fyi, I committed this cleanup to cli-script.c.
Regression tested on amd64-linux.
2013-11-23 Doug Evans <xdje42@gmail.com>
* cli/cli-script.c (multi_line_command_p): New function.
(recurse_read_control_structure, read_command_lines_1): Call it.
(execute_control_command): Consistently have a blank line between
each case.
diff --git a/gdb/cli/cli-script.c b/gdb/cli/cli-script.c
index 3e8ed7f..387a11e 100644
--- a/gdb/cli/cli-script.c
+++ b/gdb/cli/cli-script.c
@@ -78,6 +78,25 @@ struct user_args
*user_args;
\f
+/* Return non-zero if TYPE is a multi-line command (i.e., is terminated
+ by "end"). */
+
+static int
+multi_line_command_p (enum command_control_type type)
+{
+ switch (type)
+ {
+ case if_control:
+ case while_control:
+ case while_stepping_control:
+ case commands_control:
+ case python_control:
+ return 1;
+ default:
+ return 0;
+ }
+}
+
/* Allocate, initialize a new command line structure for one of the
control commands (if/while). */
@@ -556,6 +575,7 @@ execute_control_command (struct command_line *cmd)
break;
}
+
case commands_control:
{
/* Breakpoint commands list, record the commands in the
@@ -567,6 +587,7 @@ execute_control_command (struct command_line *cmd)
ret = commands_from_control_command (new_line, cmd);
break;
}
+
case python_control:
{
eval_python_from_control_command (cmd);
@@ -1103,11 +1124,7 @@ recurse_read_control_structure (char * (*read_next_line_func) (void),
if (val == end_command)
{
- if (current_cmd->control_type == while_control
- || current_cmd->control_type == while_stepping_control
- || current_cmd->control_type == if_control
- || current_cmd->control_type == python_control
- || current_cmd->control_type == commands_control)
+ if (multi_line_command_p (current_cmd->control_type))
{
/* Success reading an entire canned sequence of commands. */
ret = simple_control;
@@ -1156,11 +1173,7 @@ recurse_read_control_structure (char * (*read_next_line_func) (void),
/* If the latest line is another control structure, then recurse
on it. */
- if (next->control_type == while_control
- || next->control_type == while_stepping_control
- || next->control_type == if_control
- || next->control_type == python_control
- || next->control_type == commands_control)
+ if (multi_line_command_p (next->control_type))
{
control_level++;
ret = recurse_read_control_structure (read_next_line_func, next,
@@ -1275,11 +1288,7 @@ read_command_lines_1 (char * (*read_next_line_func) (void), int parse_commands,
break;
}
- if (next->control_type == while_control
- || next->control_type == if_control
- || next->control_type == python_control
- || next->control_type == commands_control
- || next->control_type == while_stepping_control)
+ if (multi_line_command_p (next->control_type))
{
control_level++;
ret = recurse_read_control_structure (read_next_line_func, next,
reply other threads:[~2013-11-23 19:56 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3txf2nb9l.fsf@sspiff.org \
--to=xdje42@gmail.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).