diff --git a/frontpanel/FrontPanelTest.c b/frontpanel/FrontPanelTest.c index 95d27736..97f60078 100644 --- a/frontpanel/FrontPanelTest.c +++ b/frontpanel/FrontPanelTest.c @@ -804,8 +804,14 @@ while (1) { printf("%s\n", history); } else if (match_command ("DEBUG ", cmd, &arg)) { - if (sim_panel_device_debug_mode (panel, arg, 1, NULL)) - printf("Error setting debug mode: %s\n", sim_panel_get_error ()); + if (arg[0] == '-') { + if (sim_panel_device_debug_mode (panel, NULL, 1, arg)) + printf("Error setting debug mode: %s\n", sim_panel_get_error ()); + } + else { + if (sim_panel_device_debug_mode (panel, arg, 1, NULL)) + printf("Error setting debug mode: %s\n", sim_panel_get_error ()); + } } else if ((match_command ("EXIT", cmd, NULL)) || (match_command ("QUIT", cmd, NULL))) goto Done; diff --git a/sim_frontpanel.c b/sim_frontpanel.c index 8cfb6bcd..e6a3ab92 100644 --- a/sim_frontpanel.c +++ b/sim_frontpanel.c @@ -1792,8 +1792,9 @@ if (!panel || (panel->State == Error)) { sim_panel_set_error (NULL, "Invalid Panel"); return -1; } -if (_panel_sendf (panel, &cmd_stat, &response, "SHOW %s", device) || - (cmd_stat)) { +if ((device != NULL) && + ((_panel_sendf (panel, &cmd_stat, &response, "SHOW %s", device) || + (cmd_stat)))) { sim_panel_set_error (NULL, "Can't %s Debug Mode: '%s' on Device '%s': %s", set_unset ? "Enable" : "Disable", mode_bits ? mode_bits : "", device, response); free (response); @@ -1802,7 +1803,7 @@ if (_panel_sendf (panel, &cmd_stat, &response, "SHOW %s", device) || free (response); response = NULL; if (_panel_sendf (panel, &cmd_stat, &response, "%sDEBUG %s %s", - set_unset ? "" : "NO", device, mode_bits ? mode_bits : "") || + set_unset ? "" : "NO", device ? device : "", mode_bits ? mode_bits : "") || (cmd_stat)) { sim_panel_set_error (NULL, "Can't %s Debug Mode: '%s' on Device '%s': %s", set_unset ? "Enable" : "Disable", mode_bits ? mode_bits : "", device, response);