Diff of /src/ov-fixed-complex.cc [cbc0a5] .. [53b1fd] Maximize Restore

  Switch to side-by-side view

--- a/src/ov-fixed-complex.cc
+++ b/src/ov-fixed-complex.cc
@@ -228,9 +228,9 @@
 }
 
 static void
-restore_precision (void *p)
-{
-  bind_internal_variable ("output_precision", *(static_cast<int *> (p)));
+restore_precision (int *p)
+{
+  bind_internal_variable ("output_precision", *p);
 }
 
 void
@@ -245,13 +245,15 @@
 
   octave_value_list tmp = feval ("output_precision");
   int prec = tmp(0).int_value ();
-  unwind_protect::add (restore_precision, &prec);
+
+  unwind_protect frame;
+
+  frame.add_fcn (restore_precision, &prec);
+
   bind_internal_variable ("output_precision", new_prec);
 
   indent (os);
   octave_print_internal (os, complex_value(), pr_as_read_syntax);
-
-  unwind_protect::run ();
 }
 
 bool