simplify target_is_pushed

While working on target_is_pushed, I noticed that it is written in a
strange way.  The code currently keeps an extra indirection, where a
simple linked list traversal is all that is needed.  It seems likely
this was done by copying and pasting other code.  However, there is no
reason to do this and the more obvious code is simpler to reason
about.  So, this patch change the implementation.

2014-07-29  Tom Tromey  <tromey@redhat.com>

	* target.c (target_is_pushed): Simplify.
This commit is contained in:
Tom Tromey 2014-07-18 08:48:43 -06:00
parent 2530441cef
commit 84202f9c99
2 changed files with 7 additions and 3 deletions

View File

@ -1,3 +1,7 @@
2014-07-29 Tom Tromey <tromey@redhat.com>
* target.c (target_is_pushed): Simplify.
2014-07-29 Joel Brobecker <brobecker@adacore.com>
GDB 7.8 released.

View File

@ -671,7 +671,7 @@ pop_all_targets (void)
int
target_is_pushed (struct target_ops *t)
{
struct target_ops **cur;
struct target_ops *cur;
/* Check magic number. If wrong, it probably means someone changed
the struct definition, but not all the places that initialize one. */
@ -684,8 +684,8 @@ target_is_pushed (struct target_ops *t)
_("failed internal consistency check"));
}
for (cur = &target_stack; (*cur) != NULL; cur = &(*cur)->beneath)
if (*cur == t)
for (cur = target_stack; cur != NULL; cur = cur->beneath)
if (cur == t)
return 1;
return 0;