static int cmd_expand_ (sBSP430cliCommandLink * chain, void * param, const char * argstr, size_t argstr_len) { cputtext("Expanded: "); vBSP430cliConsoleDisplayChain(chain, argstr); cputchar('\n'); return 0; }
int iBSP430cliConsoleDiagnostic (struct sBSP430cliCommandLink * chain, enum eBSP430cliErrorType errtype, const char * argstr, size_t argstr_len) { const sBSP430cliCommand * cmds = chain->command_set; switch (errtype) { case eBSP430_CLI_ERR_Config: cputtext("Command configuration error: "); break; case eBSP430_CLI_ERR_Missing: cputtext("Expected something after: "); if (chain->cmd) { cmds = chain->cmd->child; } break; case eBSP430_CLI_ERR_Unrecognized: cputtext("Unrecognized: "); break; case eBSP430_CLI_ERR_MultiMatch: cputtext("Ambiguous command: "); break; case eBSP430_CLI_ERR_Invalid: cputtext("Invalid value: "); break; default: cprintf("ERROR %u at: ", errtype); break; } vBSP430cliConsoleDisplayChain(chain, argstr); if ((0 != cmds) && ((eBSP430_CLI_ERR_MultiMatch == errtype) || (eBSP430_CLI_ERR_Missing == errtype) || (eBSP430_CLI_ERR_Unrecognized == errtype))) { sBSP430cliMatchCallback cbs; cprintf("\nCandidates:\n"); /* If the diagnostic is that something's missing or unrecognized, * ignore whatever's there so it doesn't inappropriately filter * out all the real candidates. */ if ((eBSP430_CLI_ERR_Missing == errtype) || (eBSP430_CLI_ERR_Unrecognized == errtype)) { argstr_len = 0; } cbs.callback = display_cmd; (void)iBSP430cliMatchCommand(cmds, argstr, argstr_len, 0, &cbs, 0, 0); } cputchar('\n'); return -(int)errtype; }
static int cmd_h234 (sBSP430cliCommandLink * chain, void * param, const char * argstr, size_t argstr_len) { cputtext("Display: "); vBSP430cliConsoleDisplayChain(chain, argstr); if (0 == argstr_len) { cputs("\nWTH are we fighting for? Walk!"); } cputchar('\n'); return 0; }