X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fkod.c;h=8f565bb8c36ed7599fe031d6c65a7061504e6ab6;hb=a8cdafbd4e8dbf81a28d98de6a046bd9bc5cc097;hp=8e8a716914d447305f1120beeb95cfa139e63286;hpb=b51450c9ff9fe4a30bdc760802e69d313345c838;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/kod.c b/gdb/kod.c index 8e8a716914..8f565bb8c3 100644 --- a/gdb/kod.c +++ b/gdb/kod.c @@ -132,13 +132,16 @@ kod_set_os (char *arg, int from_tty, struct cmd_list_element *command) { char *p; - /* NOTE: cagney/2002-03-17: This function gets called by the command - ``info set'' with COMMAND pointing to a show_cmd rather than a - set command. This the test below is removed, a core dump results - (think about what happens when OPERATING_SYSTEM is NULL). The - wiered thing is that all other ``set'' handlers don't need this - test. */ - if (command->type != set_cmd) + /* NOTE: cagney/2002-03-17: The add_show_from_set() function clones + the set command passed as a parameter. The clone operation will + include (BUG?) any ``set'' command callback, if present. + Commands like ``info set'' call all the ``show'' command + callbacks. Unfortunatly, for ``show'' commands cloned from + ``set'', this includes callbacks belonging to ``set'' commands. + Making this worse, this only occures if add_show_from_set() is + called after add_cmd_sfunc() (BUG?). */ + + if (cmd_type (command) != set_cmd) return; /* If we had already had an open OS, close it. */