diff libinterp/corefcn/oct-stream.cc @ 31105:670a0d878af1

eliminate WHO arguments from interpreter-private functions * interpreter-private.h, inpterpreter-private.cc (__get_interpreter__, __get_dynamic_loader__, __get_error_system__, __get_gh_manager__, __get_help_system__, __get_input_system__, __get_load_path__, __get_load_save_system__, __get_event_manager__, __get_output_system__, __get_type_info__, __get_symbol_table__, __get_current_scope__, __require_current_scope__, __get_evaluator__, __get_bp_table__, __get_child_list__, __get_cdef_manager__, __get_display_info__, __get_gtk_manager__): Eliminate WHO argument. Previously, it was never displayed by __get_interpreter__. And, as pointed out by Petter Tomner in patch #10216, passing a std::string object could have performance issues. (__get_interpreter__): Eliminate useless call to error. Display message to std::cerr then abort.
author John W. Eaton <jwe@octave.org>
date Wed, 22 Jun 2022 12:48:59 -0400
parents 79edd49a5a97
children c90718a28a3c
line wrap: on
line diff
--- a/libinterp/corefcn/oct-stream.cc	Tue Jun 21 15:44:03 2022 +0200
+++ b/libinterp/corefcn/oct-stream.cc	Wed Jun 22 12:48:59 2022 -0400
@@ -100,7 +100,7 @@
       }
     catch (const execution_exception&)
       {
-        interpreter& interp = __get_interpreter__ ("convert_to_valid_int");
+        interpreter& interp = __get_interpreter__ ();
 
         interp.recover_from_exception ();
 
@@ -4104,7 +4104,7 @@
   base_stream::do_gets (octave_idx_type max_len, bool& err,
                         bool strip_newline, const std::string& who)
   {
-    interpreter& interp = __get_interpreter__ ("base_stream::do_gets");
+    interpreter& interp = __get_interpreter__ ();
 
     if (interp.interactive () && file_number () == 0)
       ::error ("%s: unable to read from stdin while running interactively",
@@ -4221,7 +4221,7 @@
   off_t
   base_stream::skipl (off_t num, bool& err, const std::string& who)
   {
-    interpreter& interp = __get_interpreter__ ("base_stream::skipl");
+    interpreter& interp = __get_interpreter__ ();
 
     if (interp.interactive () && file_number () == 0)
       ::error ("%s: unable to read from stdin while running interactively",
@@ -4716,7 +4716,7 @@
                          octave_idx_type& conversion_count,
                          const std::string& who)
   {
-    interpreter& interp = __get_interpreter__ ("base_stream::do_scanf");
+    interpreter& interp = __get_interpreter__ ();
 
     if (interp.interactive () && file_number () == 0)
       ::error ("%s: unable to read from stdin while running interactively",
@@ -5343,7 +5343,7 @@
 
         // FIXME: is this the right thing to do?
 
-        interpreter& interp = __get_interpreter__ ("base_stream::do_oscanf");
+        interpreter& interp = __get_interpreter__ ();
 
         if (interp.interactive () && ! application::forced_interactive ()
             && name () == "stdin")
@@ -5438,7 +5438,7 @@
                             const std::string& who,
                             octave_idx_type& read_count)
   {
-    interpreter& interp = __get_interpreter__ ("base_stream::do_textscan");
+    interpreter& interp = __get_interpreter__ ();
 
     if (interp.interactive () && file_number () == 0)
       ::error ("%s: unable to read from stdin while running interactively",