summaryrefslogtreecommitdiff
path: root/src/helper
diff options
context:
space:
mode:
authorZachary T Welch <zw@superlucidity.net>2009-12-03 16:22:46 -0800
committerZachary T Welch <zw@superlucidity.net>2009-12-04 03:34:32 -0800
commitb58c1d808fcdeb7a751c1ecf4e5512a8943ec263 (patch)
tree4de0265adc7e638788bd20eb3e3119063c09cc44 /src/helper
parentc5eb8e29bdc296c2d0b25cc771639567b5f7707f (diff)
downloadopenocd_libswd-b58c1d808fcdeb7a751c1ecf4e5512a8943ec263.tar.gz
openocd_libswd-b58c1d808fcdeb7a751c1ecf4e5512a8943ec263.tar.bz2
openocd_libswd-b58c1d808fcdeb7a751c1ecf4e5512a8943ec263.tar.xz
openocd_libswd-b58c1d808fcdeb7a751c1ecf4e5512a8943ec263.zip
switch 'rm' command away from using Jim
Commands that do not need to use Jim should be registered as high-level command handlers.
Diffstat (limited to 'src/helper')
-rw-r--r--src/helper/ioutil.c29
1 files changed, 11 insertions, 18 deletions
diff --git a/src/helper/ioutil.c b/src/helper/ioutil.c
index ed82ba1c..27bffad3 100644
--- a/src/helper/ioutil.c
+++ b/src/helper/ioutil.c
@@ -401,25 +401,18 @@ void copydir(char *name, char *destdir)
-static int
-zylinjtag_Jim_Command_rm(Jim_Interp *interp,
- int argc,
- Jim_Obj * const *argv)
+COMMAND_HANDLER(handle_rm_command)
{
- int del;
- if (argc != 2)
- {
- Jim_WrongNumArgs(interp, 1, argv, "rm ?dirorfile?");
- return JIM_ERR;
- }
+ if (CMD_ARGC != 1)
+ return ERROR_INVALID_ARGUMENTS;
- del = 0;
- if (unlink(Jim_GetString(argv[1], NULL)) == 0)
- del = 1;
- if (rmdir(Jim_GetString(argv[1], NULL)) == 0)
- del = 1;
+ bool del = false;
+ if (rmdir(CMD_ARGV[0]) == 0)
+ del = true;
+ else if (unlink(CMD_ARGV[0]) == 0)
+ 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,
.help = "display available ram memory",
},
- // jim handlers
{
.name = "rm",
.mode = COMMAND_ANY,
- .jim_handler = &zylinjtag_Jim_Command_rm,
+ .handler = &handle_rm_command,
.help = "remove a file",
.usage = "<file>",
},
+ // jim handlers
{
.name = "peek",
.mode = COMMAND_ANY,