diff src/sysdep.cc @ 1755:3a9462b655f1

[project @ 1996-01-22 04:47:22 by jwe]
author jwe
date Mon, 22 Jan 1996 04:47:22 +0000
parents fd0d12493223
children bc7ae9be3378
line wrap: on
line diff
--- a/src/sysdep.cc	Mon Jan 22 04:47:00 1996 +0000
+++ b/src/sysdep.cc	Mon Jan 22 04:47:22 1996 +0000
@@ -79,10 +79,11 @@
 #include "help.h"
 #include "input.h"
 #include "mappers.h"
-#include "toplev.h"
+#include "oct-obj.h"
+#include "pathlen.h"
+#include "pt-const.h"
 #include "sysdep.h"
-#include "pt-const.h"
-#include "oct-obj.h"
+#include "toplev.h"
 #include "utils.h"
 
 extern "C" double F77_FCN (d1mach, D1MACH) (const int&);
@@ -482,35 +483,43 @@
   return c;
 }
 
-char *
-octave_getcwd (char *buf, int len)
+string
+octave_getcwd (void)
 {
+  string retval;
+  char buf[MAXPATHLEN];
+
 #if defined (__EMX__)
-  return _getcwd2 (buf, len);
+  char *tmp = _getcwd2 (buf, MAXPATHLEN);
 #else
-  return getcwd (buf, len);
+  char *tmp = getcwd (buf, MAXPATHLEN);
 #endif
+
+  if (tmp)
+    retval = tmp;
+
+  return retval;
 }
 
 int
-octave_chdir (const char *path)
+octave_chdir (const string& path)
 {
 #if defined (__EMX__)
   int retval = -1;
 
-  if (strlen (path) == 2 && path[1] == ':')
+  if (path.length () == 2 && path[1] == ':')
     {
-      char *upper_case_dir_name = strupr (path);
+      char *upper_case_dir_name = strupr (path.c_str ());
       _chdrive (upper_case_dir_name[0]);
       if (_getdrive () == upper_case_dir_name[0])
 	retval = _chdir2 ("/");
     }
   else
-    retval = _chdir2 (path);
+    retval = _chdir2 (path.c_str ());
 
   return retval;
 #else
-  return chdir (path);
+  return chdir (path.c_str ());
 #endif
 }
 
@@ -574,16 +583,14 @@
 
   if (nargin == 2)
     {
-      string tstr1 = args(0).string_value (); 
-      const char *var = tstr1.c_str ();
+      string var = args(0).string_value (); 
 
       if (! error_state)
 	{
-	  string tstr2 = args(1).string_value (); 
-	  const char *val = tstr2.c_str ();
+	  string val = args(1).string_value (); 
 
 	  if (! error_state)
-	    oct_putenv (var, val);
+	    oct_putenv (var.c_str (), val.c_str ());
 	  else
 	    error ("putenv: second argument should be a string");
 	}