diff options
author | oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2008-12-16 10:22:24 +0000 |
---|---|---|
committer | oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2008-12-16 10:22:24 +0000 |
commit | 498c87bf02aaaa6cf0f7305ee2c77c7180fb8c16 (patch) | |
tree | e133f7c0002c2b1d9d818320b0f40f4e8cc2426a /src | |
parent | 0748b5ad4c6c99bd646f96398a90ff6e37d92dac (diff) | |
download | riscv-openocd-498c87bf02aaaa6cf0f7305ee2c77c7180fb8c16.zip riscv-openocd-498c87bf02aaaa6cf0f7305ee2c77c7180fb8c16.tar.gz riscv-openocd-498c87bf02aaaa6cf0f7305ee2c77c7180fb8c16.tar.bz2 |
fix broken -c/f options where it would silently terminate for scripts that did not set the return value.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1246 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src')
-rw-r--r-- | src/helper/command.c | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/src/helper/command.c b/src/helper/command.c index 23d0004..bc1fb34 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -290,9 +290,9 @@ int unregister_command(command_context_t *context, char *name) /* find command */ c = context->commands; - + while(NULL != c) - { + { if (strcmp(name, c->name) == 0) { /* unlink command */ @@ -305,7 +305,7 @@ int unregister_command(command_context_t *context, char *name) /* first element in command list */ context->commands = c->next; } - + /* unregister children */ while(NULL != c->children) { @@ -316,7 +316,7 @@ int unregister_command(command_context_t *context, char *name) free(c2); c2 = NULL; } - + /* delete command */ free(c->name); c->name = NULL; @@ -324,7 +324,7 @@ int unregister_command(command_context_t *context, char *name) c = NULL; return ERROR_OK; } - + /* remember the last command for unlinking */ p = c; c = c->next; @@ -479,21 +479,20 @@ int command_run_line(command_context_t *context, char *line) int reslen; result = Jim_GetString(Jim_GetResult(interp), &reslen); - if (reslen) { - int i; - char buff[256+1]; - for (i = 0; i < reslen; i += 256) - { - int chunk; - chunk = reslen - i; - if (chunk > 256) - chunk = 256; - strncpy(buff, result+i, chunk); - buff[chunk] = 0; - LOG_USER_N("%s", buff); - } - LOG_USER_N("%s", "\n"); + int i; + char buff[256+1]; + for (i = 0; i < reslen; i += 256) + { + int chunk; + chunk = reslen - i; + if (chunk > 256) + chunk = 256; + strncpy(buff, result+i, chunk); + buff[chunk] = 0; + LOG_USER_N("%s", buff); } + LOG_USER_N("%s", "\n"); + retval=ERROR_OK; } return retval; } |