This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Use a scoped_restore for command_nest_depth


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b51b225eb9b03b627967108ee3de38ada5de219d

commit b51b225eb9b03b627967108ee3de38ada5de219d
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Apr 30 21:15:58 2017 -0600

    Use a scoped_restore for command_nest_depth
    
    This changes a couple of places to use a scoped_restore when
    manipulating command_nest_depth.
    
    ChangeLog
    2017-08-03  Tom Tromey  <tom@tromey.com>
    
    	* cli/cli-script.c (execute_user_command)
    	(execute_control_command): Use scoped_restore.

Diff:
---
 gdb/ChangeLog        |  5 +++++
 gdb/cli/cli-script.c | 12 ++++++------
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index be5fd55..9337365 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
 2017-08-03  Tom Tromey  <tom@tromey.com>
 
+	* cli/cli-script.c (execute_user_command)
+	(execute_control_command): Use scoped_restore.
+
+2017-08-03  Tom Tromey  <tom@tromey.com>
+
 	* cli/cli-script.c (do_restore_user_call_depth): Remove.
 	(execute_user_command): Remove user_call_depth; use
 	user_args_stack's size instead.
diff --git a/gdb/cli/cli-script.c b/gdb/cli/cli-script.c
index 36aa371..d8dfbfc 100644
--- a/gdb/cli/cli-script.c
+++ b/gdb/cli/cli-script.c
@@ -398,7 +398,8 @@ execute_user_command (struct cmd_list_element *c, char *args)
 
   scoped_restore save_async = make_scoped_restore (&current_ui->async, 0);
 
-  command_nest_depth++;
+  scoped_restore save_nesting
+    = make_scoped_restore (&command_nest_depth, command_nest_depth + 1);
   while (cmdlines)
     {
       ret = execute_control_command (cmdlines);
@@ -409,7 +410,6 @@ execute_user_command (struct cmd_list_element *c, char *args)
 	}
       cmdlines = cmdlines->next;
     }
-  command_nest_depth--;
   do_cleanups (old_chain);
 }
 
@@ -529,9 +529,9 @@ execute_control_command (struct command_line *cmd)
 	    current = *cmd->body_list;
 	    while (current)
 	      {
-		command_nest_depth++;
+		scoped_restore save_nesting
+		  = make_scoped_restore (&command_nest_depth, command_nest_depth + 1);
 		ret = execute_control_command (current);
-		command_nest_depth--;
 
 		/* If we got an error, or a "break" command, then stop
 		   looping.  */
@@ -588,9 +588,9 @@ execute_control_command (struct command_line *cmd)
 	/* Execute commands in the given arm.  */
 	while (current)
 	  {
-	    command_nest_depth++;
+	    scoped_restore save_nesting
+	      = make_scoped_restore (&command_nest_depth, command_nest_depth + 1);
 	    ret = execute_control_command (current);
-	    command_nest_depth--;
 
 	    /* If we got an error, get out.  */
 	    if (ret != simple_control)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]