diff src/variables.cc @ 1121:46619c5ca048

[project @ 1995-02-17 15:45:07 by jwe]
author jwe
date Fri, 17 Feb 1995 15:45:26 +0000
parents 0e2974c1cc37
children 80973a849607
line wrap: on
line diff
--- a/src/variables.cc	Thu Feb 16 05:44:22 1995 +0000
+++ b/src/variables.cc	Fri Feb 17 15:45:26 1995 +0000
@@ -378,6 +378,33 @@
   return pager_binary;
 }
 
+// Always returns a new string.
+
+char *
+maybe_add_default_load_path (const char *p)
+{
+  static char *std_path = subst_octave_home (OCTAVE_FCNFILEPATH);
+
+  char *pathstring = strsave (p);
+
+  if (pathstring[0] == SEPCHAR)
+    {
+      char *tmp = pathstring;
+      pathstring = strconcat (std_path, pathstring);
+      delete [] tmp;
+    }
+
+  int tmp_len = strlen (pathstring);
+  if (pathstring[tmp_len-1] == SEPCHAR)
+    {
+      char *tmp = pathstring;
+      pathstring = strconcat (pathstring, std_path);
+      delete [] tmp;
+    }
+
+  return pathstring;
+}
+
 char *
 octave_lib_dir (void)
 {
@@ -396,36 +423,14 @@
 char *
 default_path (void)
 {
+  static char *std_path = subst_octave_home (OCTAVE_FCNFILEPATH);
+
+  static char *oct_path = getenv ("OCTAVE_PATH");
+
   static char *pathstring = 0;
   delete [] pathstring;
 
-  static char *std_path = subst_octave_home (OCTAVE_FCNFILEPATH);
-
-  char *oct_path = getenv ("OCTAVE_PATH");
-
-  if (oct_path)
-    {
-      pathstring = strsave (oct_path);
-
-      if (pathstring[0] == SEPCHAR)
-	{
-	  char *tmp = pathstring;
-	  pathstring = strconcat (std_path, pathstring);
-	  delete [] tmp;
-	}
-
-      int tmp_len = strlen (pathstring);
-      if (pathstring[tmp_len-1] == SEPCHAR)
-	{
-	  char *tmp = pathstring;
-	  pathstring = strconcat (pathstring, std_path);
-	  delete [] tmp;
-	}
-    }
-  else
-    pathstring = strsave (std_path);
-
-  return pathstring;
+  return oct_path ? strsave (oct_path) : strsave (std_path);
 }
 
 char *