From 498c87bf02aaaa6cf0f7305ee2c77c7180fb8c16 Mon Sep 17 00:00:00 2001 From: oharboe Date: Tue, 16 Dec 2008 10:22:24 +0000 Subject: 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 --- src/helper/command.c | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/src/helper/command.c b/src/helper/command.c index 23d00041..bc1fb348 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; } -- cgit v1.2.3