switch 'rm' command away from using Jim
Commands that do not need to use Jim should be registered as high-level command handlers.
This commit is contained in:
parent
c5eb8e29bd
commit
b58c1d808f
|
@ -401,25 +401,18 @@ void copydir(char *name, char *destdir)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
COMMAND_HANDLER(handle_rm_command)
|
||||||
zylinjtag_Jim_Command_rm(Jim_Interp *interp,
|
|
||||||
int argc,
|
|
||||||
Jim_Obj * const *argv)
|
|
||||||
{
|
{
|
||||||
int del;
|
if (CMD_ARGC != 1)
|
||||||
if (argc != 2)
|
return ERROR_INVALID_ARGUMENTS;
|
||||||
{
|
|
||||||
Jim_WrongNumArgs(interp, 1, argv, "rm ?dirorfile?");
|
|
||||||
return JIM_ERR;
|
|
||||||
}
|
|
||||||
|
|
||||||
del = 0;
|
bool del = false;
|
||||||
if (unlink(Jim_GetString(argv[1], NULL)) == 0)
|
if (rmdir(CMD_ARGV[0]) == 0)
|
||||||
del = 1;
|
del = true;
|
||||||
if (rmdir(Jim_GetString(argv[1], NULL)) == 0)
|
else if (unlink(CMD_ARGV[0]) == 0)
|
||||||
del = 1;
|
del = true;
|
||||||
|
|
||||||
return del ? JIM_OK : JIM_ERR;
|
return del ? ERROR_OK : ERROR_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -658,14 +651,14 @@ static const struct command_registration ioutil_command_handlers[] = {
|
||||||
.mode = COMMAND_ANY,
|
.mode = COMMAND_ANY,
|
||||||
.help = "display available ram memory",
|
.help = "display available ram memory",
|
||||||
},
|
},
|
||||||
// jim handlers
|
|
||||||
{
|
{
|
||||||
.name = "rm",
|
.name = "rm",
|
||||||
.mode = COMMAND_ANY,
|
.mode = COMMAND_ANY,
|
||||||
.jim_handler = &zylinjtag_Jim_Command_rm,
|
.handler = &handle_rm_command,
|
||||||
.help = "remove a file",
|
.help = "remove a file",
|
||||||
.usage = "<file>",
|
.usage = "<file>",
|
||||||
},
|
},
|
||||||
|
// jim handlers
|
||||||
{
|
{
|
||||||
.name = "peek",
|
.name = "peek",
|
||||||
.mode = COMMAND_ANY,
|
.mode = COMMAND_ANY,
|
||||||
|
|
Loading…
Reference in New Issue