ARM11: fewer exit() calls
authorDavid Brownell <dbrownell@users.sourceforge.net>
Tue, 17 Nov 2009 01:51:55 +0000 (17:51 -0800)
committerDavid Brownell <dbrownell@users.sourceforge.net>
Tue, 17 Nov 2009 01:51:55 +0000 (17:51 -0800)
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
src/target/arm11.c

index 4d9016fdc28bed8b8e17933d9c36523c103a0403..f0ed85f65d450ec4551b53be94182612ebb83009 100644 (file)
@@ -1665,13 +1665,13 @@ static int arm11_run_algorithm(struct target *target,
                if (!reg)
                {
                        LOG_ERROR("BUG: register '%s' not found", reg_params[i].reg_name);
-                       exit(-1);
+                       return ERROR_INVALID_ARGUMENTS;
                }
 
                if (reg->size != reg_params[i].size)
                {
                        LOG_ERROR("BUG: register '%s' size doesn't match reg_params[i].size", reg_params[i].reg_name);
-                       exit(-1);
+                       return ERROR_INVALID_ARGUMENTS;
                }
                arm11_set_reg(reg,reg_params[i].value);
 //             printf("%i: Set %s =%08x\n", i, reg_params[i].reg_name,val);
@@ -1750,13 +1750,15 @@ static int arm11_run_algorithm(struct target *target,
                        if (!reg)
                        {
                                LOG_ERROR("BUG: register '%s' not found", reg_params[i].reg_name);
-                               exit(-1);
+                               retval = ERROR_INVALID_ARGUMENTS;
+                               goto del_breakpoint;
                        }
 
                        if (reg->size != reg_params[i].size)
                        {
                                LOG_ERROR("BUG: register '%s' size doesn't match reg_params[i].size", reg_params[i].reg_name);
-                               exit(-1);
+                               retval = ERROR_INVALID_ARGUMENTS;
+                               goto del_breakpoint;
                        }
 
                        buf_set_u32(reg_params[i].value, 0, 32, buf_get_u32(reg->value, 0, 32));