diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ddaaff47b56f186f5e60c823069249e2ed59d6f1..b92962e8484601ee1dc60efc668dc44357d72cc8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2009-06-19 Samuel Bronson <naesten@gmail.com> + + PR cli/9930: + * cli/cli-decode.c (apropos_cmd): Fix avoidance of double + printing. + 2009-06-19 Jerome Guitton <guitton@adacore.com> * breakpoint.c (expand_line_sal_maybe): When explicit_line, diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c index e748ee6ea8d51b4f65ded07bdfd045a91370c839..f8f6f28b2f3f461cd4727b66f3295e4b672ebe95 100644 --- a/gdb/cli/cli-decode.c +++ b/gdb/cli/cli-decode.c @@ -755,10 +755,11 @@ apropos_cmd (struct ui_file *stream, struct cmd_list_element *commandlist, struct re_pattern_buffer *regex, char *prefix) { struct cmd_list_element *c; - int returnvalue=1; /*Needed to avoid double printing*/ + int returnvalue; /* Walk through the commands */ for (c=commandlist;c;c=c->next) { + returnvalue = -1; /*Needed to avoid double printing*/ if (c->name != NULL) { /* Try to match against the name*/ @@ -769,7 +770,7 @@ apropos_cmd (struct ui_file *stream, struct cmd_list_element *commandlist, 0 /* don't recurse */, stream); } } - if (c->doc != NULL && returnvalue != 0) + if (c->doc != NULL && returnvalue < 0) { /* Try to match against documentation */ if (re_search(regex,c->doc,strlen(c->doc),0,strlen(c->doc),NULL) >=0)