filtering of commands during async operation

Doug Evans
2003-11-05T21:52:58Z

Newman, Mark (N-Superior Technical Resource Inc) writes:
>
> In top.c there is an attempt to filter what commands can be issued during async operation. That code is not filtering (at least under RH on an Intel box). The code is
>
> if (event_loop_p && target_can_async_p () && target_executing)
> if (!strcmp (c->name, "help")
> && !strcmp (c->name, "pwd")
> && !strcmp (c->name, "show")
> && !strcmp (c->name, "stop"))
> error ("Cannot execute this command while the target is running.");

Good example of why it's useful to avoid using ! with strcmp.

> The code should be:
>
> if (event_loop_p && target_can_async_p () && target_executing) {
> if (!(strcmp (c->name, "help") == 0)
> && !(strcmp (c->name, "pwd") == 0)
> && !(strcmp (c->name, "show") == 0)
> && !(strcmp (c->name, "stop") == 0)) {
> error ("Cannot execute this command while the target is running.");
> }
> }
>
> Unless someone objects I am going to put in a bug report and a patch.

Why not just strcmp () != 0