summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/target/target.c19
-rw-r--r--src/target/target.h1
2 files changed, 11 insertions, 9 deletions
diff --git a/src/target/target.c b/src/target/target.c
index 3a84040c..42972582 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -3524,9 +3524,9 @@ void target_handle_event(struct target *target, enum target_event e)
e,
Jim_Nvp_value2name_simple(nvp_target_event, e)->name,
Jim_GetString(teap->body, NULL));
- if (Jim_EvalObj(interp, teap->body) != JIM_OK)
+ if (Jim_EvalObj(teap->interp, teap->body) != JIM_OK)
{
- Jim_PrintErrorMessage(interp);
+ Jim_PrintErrorMessage(teap->interp);
}
}
}
@@ -3668,9 +3668,10 @@ static int target_configure(Jim_GetOptInfo *goi, struct target *target)
replace = false;
}
teap->event = n->value;
+ teap->interp = goi->interp;
Jim_GetOpt_Obj(goi, &o);
if (teap->body) {
- Jim_DecrRefCount(interp, teap->body);
+ Jim_DecrRefCount(teap->interp, teap->body);
}
teap->body = Jim_DuplicateObj(goi->interp, o);
/*
@@ -3718,7 +3719,7 @@ static int target_configure(Jim_GetOptInfo *goi, struct target *target)
goto no_params;
}
}
- Jim_SetResult(interp, Jim_NewIntObj(goi->interp, target->working_area_virt));
+ Jim_SetResult(goi->interp, Jim_NewIntObj(goi->interp, target->working_area_virt));
/* loop for more */
break;
@@ -3736,7 +3737,7 @@ static int target_configure(Jim_GetOptInfo *goi, struct target *target)
goto no_params;
}
}
- Jim_SetResult(interp, Jim_NewIntObj(goi->interp, target->working_area_phys));
+ Jim_SetResult(goi->interp, Jim_NewIntObj(goi->interp, target->working_area_phys));
/* loop for more */
break;
@@ -3753,7 +3754,7 @@ static int target_configure(Jim_GetOptInfo *goi, struct target *target)
goto no_params;
}
}
- Jim_SetResult(interp, Jim_NewIntObj(goi->interp, target->working_area_size));
+ Jim_SetResult(goi->interp, Jim_NewIntObj(goi->interp, target->working_area_size));
/* loop for more */
break;
@@ -3771,7 +3772,7 @@ static int target_configure(Jim_GetOptInfo *goi, struct target *target)
goto no_params;
}
}
- Jim_SetResult(interp, Jim_NewIntObj(goi->interp, target->backup_working_area));
+ Jim_SetResult(goi->interp, Jim_NewIntObj(goi->interp, target->backup_working_area));
/* loop for more e*/
break;
@@ -3838,7 +3839,7 @@ static int target_configure(Jim_GetOptInfo *goi, struct target *target)
goto no_params;
}
}
- Jim_SetResultString(interp, target->tap->dotted_name, -1);
+ Jim_SetResultString(goi->interp, target->tap->dotted_name, -1);
/* loop for more e*/
break;
}
@@ -4486,7 +4487,7 @@ static int target_create(Jim_GetOptInfo *goi)
if (target->tap == NULL)
{
- Jim_SetResultString(interp, "-chain-position required when creating target", -1);
+ Jim_SetResultString(goi->interp, "-chain-position required when creating target", -1);
e = JIM_ERR;
}
diff --git a/src/target/target.h b/src/target/target.h
index 009ec17b..af4727ce 100644
--- a/src/target/target.h
+++ b/src/target/target.h
@@ -222,6 +222,7 @@ enum target_event
struct target_event_action {
enum target_event event;
+ Jim_Interp *interp;
struct Jim_Obj *body;
int has_percent;
struct target_event_action *next;