diff options
author | Antonio Borneo <borneo.antonio@gmail.com> | 2010-10-12 16:47:24 +0800 |
---|---|---|
committer | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-10-12 11:22:32 +0200 |
commit | ed44447e3dfe69084b9960b844c326746681e539 (patch) | |
tree | 15e48148aeeb06f20061efd35fee7d5198823d9b | |
parent | 2ee47b22c6228b80c5a8f1e74209cbf7ad53f775 (diff) | |
download | openocd_libswd-ed44447e3dfe69084b9960b844c326746681e539.tar.gz openocd_libswd-ed44447e3dfe69084b9960b844c326746681e539.tar.bz2 openocd_libswd-ed44447e3dfe69084b9960b844c326746681e539.tar.xz openocd_libswd-ed44447e3dfe69084b9960b844c326746681e539.zip |
TARGET: review handle_load_image_command()
Collect variable definitions.
Report syntax error to command dispatcher.
Propagate error when unable to open file.
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
-rw-r--r-- | src/target/target.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/src/target/target.c b/src/target/target.c index 3c85502e..6edc2398 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -2596,33 +2596,25 @@ COMMAND_HANDLER(handle_load_image_command) COMMAND_HANDLER(handle_dump_image_command) { struct fileio fileio; - uint8_t buffer[560]; - int retvaltemp; - - + int retval, retvaltemp; + uint32_t address, size; + struct duration bench; struct target *target = get_current_target(CMD_CTX); if (CMD_ARGC != 3) - { - command_print(CMD_CTX, "usage: dump_image <filename> <address> <size>"); - return ERROR_OK; - } + return ERROR_COMMAND_SYNTAX_ERROR; - uint32_t address; COMMAND_PARSE_NUMBER(u32, CMD_ARGV[1], address); - uint32_t size; COMMAND_PARSE_NUMBER(u32, CMD_ARGV[2], size); - if (fileio_open(&fileio, CMD_ARGV[0], FILEIO_WRITE, FILEIO_BINARY) != ERROR_OK) - { - return ERROR_OK; - } + retval = fileio_open(&fileio, CMD_ARGV[0], FILEIO_WRITE, FILEIO_BINARY); + if (retval != ERROR_OK) + return retval; - struct duration bench; duration_start(&bench); - int retval = ERROR_OK; + retval = ERROR_OK; while (size > 0) { size_t size_written; |