diff src/utils.cc @ 4264:4e2d2516da22

[project @ 2003-01-03 05:30:34 by jwe]
author jwe
date Fri, 03 Jan 2003 05:30:34 +0000
parents df5f2e433a11
children ebc2d8e4968b
line wrap: on
line diff
--- a/src/utils.cc	Fri Jan 03 03:10:57 2003 +0000
+++ b/src/utils.cc	Fri Jan 03 05:30:34 2003 +0000
@@ -80,7 +80,7 @@
 bool
 valid_identifier (const char *s)
 {
-  if (! s || ! (isalnum (*s) || *s == '_'))
+  if (! s || ! (isalpha (*s) || *s == '_'))
      return false;
 
   while (*++s != '\0')
@@ -96,6 +96,28 @@
   return valid_identifier (s.c_str ());
 }
 
+DEFCMD (isvarname, args, ,
+  "@deftypefn {Built-in Function} {} isvarname (@var{name})\n\
+Return true if @var{name} is a valid variable name\n\
+@end deftypefn")
+{
+  octave_value retval;
+
+  int argc = args.length () + 1;
+
+  string_vector argv = args.make_argv ("help");
+
+  if (error_state)
+    return retval;
+
+  if (argc == 2)
+    retval = valid_identifier (argv[1]);
+  else
+    print_usage ("isvarname");
+
+  return retval;
+}
+
 int
 almost_match (const std::string& std, const std::string& s, int min_match_len,
 	      int case_sens)