* wrapper.c (gdb_value_assign): New function.  Longjump-free
        version of value_assign.
        (wrap_value_assign): New function. Wrapper for value_assign.
        * wrapper.h: Add declaration for the above.
        * varobj.c (varobj_set_value): Use gdb_value_assign, not
        value_assign which can longjump.  Do not change varobj value if
        assign fails.
This commit is contained in:
Fernando Nasser
2000-11-06 23:12:29 +00:00
parent c4dfa77f43
commit 8a1a01128d
4 changed files with 52 additions and 1 deletions

View File

@@ -818,7 +818,8 @@ varobj_set_value (struct varobj *var, char *expression)
}
VALUE_ADDRESS (temp) += offset;
val = value_assign (temp, value);
if (!gdb_value_assign (temp, value, &val))
return 0;
VALUE_ADDRESS (val) -= offset;
value_free (var->value);
release_value (val);