diff src/variables.cc @ 636:fae2bd91c027

[project @ 1994-08-23 18:39:50 by jwe]
author jwe
date Tue, 23 Aug 1994 18:39:50 +0000
parents aecbe369233b
children 9ccf86647203
line wrap: on
line diff
--- a/src/variables.cc	Tue Aug 23 17:57:20 1994 +0000
+++ b/src/variables.cc	Tue Aug 23 18:39:50 1994 +0000
@@ -133,15 +133,15 @@
 {
   tree_fvc *ans = 0;
 
-  if (! arg.is_string ())
+  char *fcn_name = arg.string_value ();
+
+  if (error_state)
     {
       if (warn)
 	error ("%s: expecting function name as argument", warn_for);
       return ans;
     }
 
-  char *fcn_name = arg.string_value ();
-
   symbol_record *sr = 0;
   if (fcn_name)
     sr = lookup_by_name (fcn_name);
@@ -184,9 +184,7 @@
 {
   Octave_object retval = 0.0;
 
-  int nargin = args.length ();
-
-  if (nargin != 2 || ! args(1).is_string ())
+  if (args.length () != 2)
     {
       print_usage ("is_global");
       return retval;
@@ -194,6 +192,12 @@
 
   char *name = args(1).string_value ();
 
+  if (error_state)
+    {
+      error ("is_global: expecting string argument");
+      return retval;
+    }
+
   symbol_record *sr = curr_sym_tab->lookup (name, 0, 0);
 
   retval = (double) (sr && sr->is_linked_to_global ());
@@ -209,9 +213,7 @@
 {
   Octave_object retval;
 
-  int nargin = args.length ();
-
-  if (nargin != 2 || ! args(1).is_string ())
+  if (args.length () != 2)
     {
       print_usage ("exist");
       return retval;
@@ -219,6 +221,12 @@
 
   char *name = args(1).string_value ();
 
+  if (error_state)
+    {
+      error ("exist: expecting string argument");
+      return retval;
+    }
+
   symbol_record *sr = curr_sym_tab->lookup (name, 0, 0);
   if (! sr)
     sr = global_sym_tab->lookup (name, 0, 0);
@@ -678,6 +686,7 @@
       if (! error_state && val.is_string ())
 	{
 	  char *s = val.string_value ();
+
 	  if (s)
 	    retval = strsave (s);
 	}