Lines Matching refs:cmd

48 static void BShellCmdOutputCmdHelp(BShellHandle handle, BShellCommand *cmd)
51 int32_t spaceLength = BShellEnvOutputString(handle, cmd->help);
58 BShellEnvOutputString(handle, cmd->desc);
69 BShellCommand *cmd = shell->command;
70 while (cmd != NULL) {
72 (strncmp(argv[0], cmd->name, strlen(argv[0])) == 0) &&
74 BShellCmdOutputCmdHelp(handle, cmd);
77 cmd = cmd->next;
82 cmd = shell->command;
83 while (cmd != NULL) {
84 BShellCmdOutputCmdHelp(handle, cmd);
85 cmd = cmd->next;
196 static int32_t BShellEnvExcuteCmd(BShellEnv *shell, BShellCommand *cmd)
198 return cmd->executer((BShellHandle)shell, shell->argc - cmd->argStart, &shell->args[cmd->argStart]);
232 BShellCommand *cmd = BShellEnvGetCmd(handle, (uint32_t)shell->argc, shell->args);
233 if (cmd != NULL) {
234 int32_t ret = BShellEnvExcuteCmd(shell, cmd);
413 BSH_CHECK(info != NULL && info->prompt != NULL, return BSH_INVALID_PARAM, "Invalid cmd name");
460 static void BShellCmdFree(BShellCommand *cmd)
462 if (cmd->desc != NULL) {
463 free(cmd->desc);
464 cmd->desc = NULL;
466 if (cmd->help != NULL) {
467 free(cmd->help);
468 cmd->help = NULL;
470 if (cmd->multikey != NULL) {
471 free(cmd->multikey);
472 cmd->multikey = NULL;
474 free(cmd);
482 BShellCommand *cmd = shell->command;
483 while (cmd != NULL) {
484 shell->command = cmd->next;
485 BShellCmdFree(cmd);
486 cmd = shell->command;
511 BSH_CHECK(cmdInfo != NULL && cmdInfo->name != NULL, return BSH_INVALID_PARAM, "Invalid cmd name");
512 BSH_CHECK(cmdInfo->executer != NULL, return BSH_INVALID_PARAM, "Invalid cmd executer");
515 BShellCommand *cmd = (BShellCommand *)calloc(1, sizeof(BShellCommand) + nameLen);
516 BSH_CHECK(cmd != NULL, return BSH_INVALID_PARAM, "Failed to alloc cmd name %s", cmdInfo->name);
517 cmd->executer = cmdInfo->executer;
518 cmd->argStart = 0;
521 ret = strcpy_s(cmd->name, nameLen, cmdInfo->name);
526 cmd->desc = strdup(cmdInfo->desc);
527 BSH_CHECK(cmd->desc != NULL, break, "Failed to copy desc %s", cmdInfo->name);
530 cmd->help = strdup(cmdInfo->help);
531 BSH_CHECK(cmd->help != NULL, break, "Failed to copy help %s", cmdInfo->name);
533 cmd->multikey = NULL;
535 cmd->multikey = strdup(cmdInfo->multikey);
536 BSH_CHECK(cmd->multikey != NULL, break, "Failed to copy multikey %s", cmdInfo->name);
537 int argc = SplitString(cmd->multikey, " ", cmd->multikeys, (int)ARRAY_LENGTH(cmd->multikeys));
538 BSH_CHECK(argc <= (int)ARRAY_LENGTH(cmd->multikeys) && argc > 0, break, "Invalid multikey");
539 cmd->argStart = argc - 1;
541 free(cmd->multikey);
542 cmd->multikey = NULL;
548 BShellCmdFree(cmd);
551 cmd->next = shell->command;
552 shell->command = cmd;
578 BSH_LOGV("BShellEnvGetCmd %s cmd %s", argv[0], cmdName);
580 BShellCommand *cmd = shell->command;
581 while (cmd != NULL) {
582 if (strcmp(cmd->name, cmdName) != 0) {
583 cmd = cmd->next;
586 if (cmd->multikey == NULL) {
587 return cmd;
590 for (i = 0; i < (int32_t)ARRAY_LENGTH(cmd->multikeys) && i < argc; i++) {
591 if (cmd->multikeys[i] == NULL) {
592 return cmd;
598 if (strcmp(cmd->multikeys[i], tmp) != 0) {
602 if (i >= (int32_t)ARRAY_LENGTH(cmd->multikeys)) {
603 return cmd;
606 if (cmd->multikeys[i] == NULL) {
607 return cmd;
610 cmd = cmd->next;
618 BSH_CHECK(keyHandle != NULL, return BSH_INVALID_PARAM, "Invalid cmd name");
666 BSH_CHECK(value != NULL, return BSH_INVALID_PARAM, "Invalid cmd value");
679 BSH_CHECK(param != NULL, return BSH_SYSTEM_ERR, "Failed to alloc cmd name %s", name);
746 BShellCommand *cmd = BShellEnvGetCmd(handle, argc, args);
747 if (cmd != NULL) {
748 int32_t ret = cmd->executer(handle, argc - cmd->argStart, &args[cmd->argStart]);