Пример #1
0
static int
cmd_expand_ (sBSP430cliCommandLink * chain,
             void * param,
             const char * argstr,
             size_t argstr_len)
{
  cputtext("Expanded: ");
  vBSP430cliConsoleDisplayChain(chain, argstr);
  cputchar('\n');
  return 0;
}
Пример #2
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;
}
Пример #3
0
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;
}