changeset 1706:6bb0c67bbf24

[project @ 1996-01-07 05:40:05 by jwe]
author jwe
date Sun, 07 Jan 1996 05:40:05 +0000
parents 1eb115526def
children 5ddae4c13f80
files src/sysdep.cc
diffstat 1 files changed, 40 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/sysdep.cc	Sun Jan 07 05:26:12 1996 +0000
+++ b/src/sysdep.cc	Sun Jan 07 05:40:05 1996 +0000
@@ -558,6 +558,46 @@
   return retval;
 }
 
+// XXX FIXME XXX -- this should be smart, like the xputenv function in
+// the kpathsea library.
+
+DEFUN ("putenv", Fputenv, Sputenv, 10,
+  "putenv (VAR, VALUE): define environment variable VAR=VALUE")
+{
+  Octave_object retval;
+
+  int nargin = args.length ();
+
+  if (nargin == 2)
+    {
+      const char *var = args(0).string_value (); 
+
+      if (! error_state)
+	{
+	  const char *val = args(1).string_value (); 
+
+	  if (! error_state)
+	    {
+	      int buflen = strlen (var) + strlen (val) + 2;
+
+	      char *buf = new char [buflen];
+
+	      sprintf (buf, "%s=%s", var, val);
+
+	      putenv (buf);
+	    }
+	  else
+	    error ("putenv: second argument should be a string");
+	}
+      else
+	error ("putenv: first argument should be a string");
+    }
+  else
+    print_usage ("putenv");
+
+  return retval;
+}
+
 DEFUN ("kbhit", Fkbhit, Skbhit, 00,
   "kbhit: get a single character from the terminal")
 {