comparison libinterp/corefcn/input.cc @ 20617:ba2b07c13913

use new string_value method to handle value extraction errors * __dispatch__.cc, balance.cc, colloc.cc, conv2.cc, data.cc, debug.cc, graphics.cc, input.cc, matrix_type.cc, oct-hist.cc, schur.cc, spparms.cc, symtab.cc, sysdep.cc, toplev.cc, utils.cc: Use new string_value method.
author John W. Eaton <jwe@octave.org>
date Fri, 09 Oct 2015 10:06:39 -0400
parents f90c8372b7ba
children
comparison
equal deleted inserted replaced
20616:fd0efcdb3718 20617:ba2b07c13913
686 int read_as_string = 0; 686 int read_as_string = 0;
687 687
688 if (nargin == 2) 688 if (nargin == 2)
689 read_as_string++; 689 read_as_string++;
690 690
691 std::string prompt = args(0).string_value (); 691 std::string prompt = args(0).string_value ("input: unrecognized argument");
692
693 if (error_state)
694 {
695 error ("input: unrecognized argument");
696 return retval;
697 }
698 692
699 flush_octave_stdout (); 693 flush_octave_stdout ();
700 694
701 octave_pager_stream::reset (); 695 octave_pager_stream::reset ();
702 octave_diary_stream::reset (); 696 octave_diary_stream::reset ();
835 if (nargin == 0 || nargin == 1) 829 if (nargin == 0 || nargin == 1)
836 { 830 {
837 std::string prompt; 831 std::string prompt;
838 832
839 if (nargin == 1) 833 if (nargin == 1)
840 { 834 prompt = args(0).string_value ("yes_or_no: PROMPT must be a string");
841 if (args(0).is_string ())
842 prompt = args(0).string_value ();
843 else
844 {
845 error ("yes_or_no: PROMPT must be a string");
846 return retval;
847 }
848 }
849 835
850 retval = octave_yes_or_no (prompt); 836 retval = octave_yes_or_no (prompt);
851 } 837 }
852 else 838 else
853 print_usage (); 839 print_usage ();