diff options
author | Zachary T Welch <zw@superlucidity.net> | 2009-12-03 16:22:46 -0800 |
---|---|---|
committer | Zachary T Welch <zw@superlucidity.net> | 2009-12-04 03:34:32 -0800 |
commit | b58c1d808fcdeb7a751c1ecf4e5512a8943ec263 (patch) | |
tree | 4de0265adc7e638788bd20eb3e3119063c09cc44 /src/helper | |
parent | c5eb8e29bdc296c2d0b25cc771639567b5f7707f (diff) | |
download | openocd+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.c | 29 |
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, |