summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2009-11-16 17:51:55 -0800
committerDavid Brownell <dbrownell@users.sourceforge.net>2009-11-16 17:51:55 -0800
commit6030f2ca03abcb934ce5b75be898ef74a0e89be0 (patch)
tree7dc2958786338417d4951273f6e697103d4f547d /src
parent47f2305229486f14eed948025c21c6ab73471d4e (diff)
downloadopenocd+libswd-6030f2ca03abcb934ce5b75be898ef74a0e89be0.tar.gz
openocd+libswd-6030f2ca03abcb934ce5b75be898ef74a0e89be0.tar.bz2
openocd+libswd-6030f2ca03abcb934ce5b75be898ef74a0e89be0.tar.xz
openocd+libswd-6030f2ca03abcb934ce5b75be898ef74a0e89be0.zip
ARM11: fewer exit() calls
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'src')
-rw-r--r--src/target/arm11.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/target/arm11.c b/src/target/arm11.c
index 4d9016fd..f0ed85f6 100644
--- a/src/target/arm11.c
+++ b/src/target/arm11.c
@@ -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));