Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2010-03-10 17:28:55 +0000
committereutarass2010-03-10 17:28:55 +0000
commitca5677d910cc5d3858930a4c02c9cdc44794018f (patch)
tree9e2f767bd263e6ee26417145e4a73254a03c83bd /services/expressions.c
parent1e87a684645553f95359b81b27c54525e7d3ff61 (diff)
downloadorg.eclipse.tcf.agent-ca5677d910cc5d3858930a4c02c9cdc44794018f.tar.gz
org.eclipse.tcf.agent-ca5677d910cc5d3858930a4c02c9cdc44794018f.tar.xz
org.eclipse.tcf.agent-ca5677d910cc5d3858930a4c02c9cdc44794018f.zip
TCF Agent: fixed few minor bugs
Diffstat (limited to 'services/expressions.c')
-rw-r--r--services/expressions.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/services/expressions.c b/services/expressions.c
index 32f02eb4..d3ec85da 100644
--- a/services/expressions.c
+++ b/services/expressions.c
@@ -1770,6 +1770,7 @@ int evaluate_expression(Context * ctx, int frame, char * s, int load, Value * v)
expression_context = ctx;
expression_frame = frame;
if (!set_trap(&trap)) return -1;
+ if (s == NULL || *s == 0) str_exception(ERR_INV_EXPRESSION, "Empty expression");
str_pool_cnt = 0;
while (str_alloc_list != NULL) {
StringValue * str = str_alloc_list;
@@ -2225,6 +2226,7 @@ static void command_evaluate(char * token, Channel * c) {
if (!err && sym_id[0] && id2symbol(sym_id, &sym) < 0) err = errno;
if (!err && sym != NULL && get_symbol_name(sym, &name) < 0) err = errno;
if (name != NULL) name = loc_strdup(name);
+ /* TODO: there must be a better way to get symbol value then calling evaluate_expression() */
}
#endif
if (!err && evaluate_expression(ctx, frame, expr ? expr->script : name, 0, &value) < 0) err = errno;

Back to the top