Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2014-09-18 01:03:38 +0000
committerEugene Tarassov2014-09-18 01:03:38 +0000
commitff86d0db13e17c18c3ee0f7013ada26bd674433f (patch)
tree3570b7348939c4e68422acb3976ca500fd4ff6ab
parent06b2f6d76ca9fefc21007f4caa24600417681bb0 (diff)
downloadorg.eclipse.tcf.agent-ff86d0db13e17c18c3ee0f7013ada26bd674433f.tar.gz
org.eclipse.tcf.agent-ff86d0db13e17c18c3ee0f7013ada26bd674433f.tar.xz
org.eclipse.tcf.agent-ff86d0db13e17c18c3ee0f7013ada26bd674433f.zip
TCF Agent: changed Expressions.evaluate to return value properties even if the value itself cannot be read from memory
-rw-r--r--agent/tcf/services/expressions.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/agent/tcf/services/expressions.c b/agent/tcf/services/expressions.c
index e20d8af6..b2cb31a2 100644
--- a/agent/tcf/services/expressions.c
+++ b/agent/tcf/services/expressions.c
@@ -3827,6 +3827,7 @@ static void command_evaluate_cache_client(void * x) {
int frame = STACK_NO_FRAME;
Expression * e = NULL;
Value value;
+ int value_ok = 0;
void * buf = NULL;
int err = 0;
@@ -3838,6 +3839,7 @@ static void command_evaluate_cache_client(void * x) {
expression_frame = frame;
expression_addr = e->addr;
if (evaluate_script(MODE_NORMAL, e->script, 0, &value) < 0) err = errno;
+ else value_ok = 1;
}
if (!err && value.remote && value.size <= 0x10000) {
buf = tmp_alloc_zero((size_t)value.size);
@@ -3864,7 +3866,7 @@ static void command_evaluate_cache_client(void * x) {
write_stringz(&c->out, "null");
}
write_errno(&c->out, err);
- if (err) {
+ if (!value_ok) {
write_stringz(&c->out, "null");
}
else {

Back to the top