Mercurial > hg > octave-nkf
diff src/octave.cc @ 798:0acec886a912
[project @ 1994-10-13 04:57:48 by jwe]
author | jwe |
---|---|
date | Thu, 13 Oct 1994 04:58:40 +0000 |
parents | f7b9920e968b |
children | 45f674300747 |
line wrap: on
line diff
--- a/src/octave.cc +++ b/src/octave.cc @@ -213,16 +213,25 @@ char *shell_path = getenv ("PATH"); char *arch_dir = octave_arch_lib_dir (); - char *tmp = strconcat (shell_path, ":"); + char *bin_dir = octave_bin_dir (); - shell_path = shell_path ? strconcat (tmp, arch_dir) - : strsave (arch_dir); + int len = strlen (arch_dir) + strlen (bin_dir) + 7; + + char *putenv_cmd = 0; - delete [] tmp; + if (shell_path) + { + len += strlen (shell_path) + 1; + putenv_cmd = new char [len]; + sprintf (putenv_cmd, "PATH=%s:%s:%s", shell_path, arch_dir, bin_dir); + } + else + { + putenv_cmd = new char [len]; + sprintf (putenv_cmd, "PATH=%s:%s", arch_dir, bin_dir); + } - char *putenv_command = strconcat ("PATH=", shell_path); - - putenv (putenv_command); + putenv (putenv_cmd); raw_prog_name = strsave (name); prog_name = strsave ("octave");