diff src/toplev.cc @ 7877:59031cfe331b

lasterror fixes
author John W. Eaton <jwe@octave.org>
date Mon, 09 Jun 2008 14:47:25 -0400
parents 5640a70cbab1
children 73ef513855e7
line wrap: on
line diff
--- a/src/toplev.cc	Fri Jun 06 15:04:12 2008 -0400
+++ b/src/toplev.cc	Mon Jun 09 14:47:25 2008 -0400
@@ -111,6 +111,58 @@
   return stmt ? stmt->column () : -1;
 }
 
+int
+octave_call_stack::do_caller_user_code_line (difference_type q) const
+{
+  int retval = -1;
+
+  for (const_iterator p = cs.begin () + q; p != cs.end (); p++)
+    {
+      const call_stack_elt& elt = *p;
+
+      octave_function *f = elt.fcn;
+
+      if (f && f->is_user_code ())
+	{
+	  tree_statement *stmt = elt.stmt;
+
+	  if (stmt)
+	    {
+	      retval = stmt->line ();
+	      break;
+	    }
+	}
+    }
+
+  return retval;
+}
+
+int
+octave_call_stack::do_caller_user_code_column (difference_type q) const
+{
+  int retval = -1;
+
+  for (const_iterator p = cs.begin () + q; p != cs.end (); p++)
+    {
+      const call_stack_elt& elt = *p;
+
+      octave_function *f = elt.fcn;
+
+      if (f && f->is_user_code ())
+	{
+	  tree_statement *stmt = elt.stmt;
+
+	  if (stmt)
+	    {
+	      retval = stmt->column ();
+	      break;
+	    }
+	}
+    }
+
+  return retval;
+}
+
 octave_user_script *
 octave_call_stack::do_caller_user_script (difference_type q) const
 {