2000-12-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
[deliverable/binutils-gdb.git] / gdb / wrapper.c
index 60b259e011cbb17d2c4be559cba7e09e14190622..336488f2145ad2e62f216902cbfcb78647055467 100644 (file)
@@ -50,6 +50,8 @@ static int wrap_value_fetch_lazy (char *);
 
 static int wrap_value_equal (char *);
 
+static int wrap_value_assign (char *);
+
 static int wrap_value_subscript (char *);
 
 static int wrap_value_ind (char *opaque_arg);
@@ -166,6 +168,38 @@ wrap_value_equal (char *a)
   return 1;
 }
 
+int
+gdb_value_assign (value_ptr val1, value_ptr val2, value_ptr *result)
+{
+  struct gdb_wrapper_arguments args;
+
+  args.args[0].pointer = val1;
+  args.args[1].pointer = val2;
+
+  if (!catch_errors ((catch_errors_ftype *) wrap_value_assign, &args,
+                    "", RETURN_MASK_ERROR))
+    {
+      /* An error occurred */
+      return 0;
+    }
+
+  *result = (value_ptr) args.result.pointer;
+  return 1;
+}
+
+static int
+wrap_value_assign (char *a)
+{
+  struct gdb_wrapper_arguments *args = (struct gdb_wrapper_arguments *) a;
+  value_ptr val1, val2;
+
+  val1 = (value_ptr) (args)->args[0].pointer;
+  val2 = (value_ptr) (args)->args[1].pointer;
+
+  (args)->result.pointer = value_assign (val1, val2);
+  return 1;
+}
+
 int
 gdb_value_subscript (value_ptr val1, value_ptr val2, value_ptr *rval)
 {
This page took 0.023986 seconds and 4 git commands to generate.