From 520b3566016f5364127378be3edba1fd88828ef4 Mon Sep 17 00:00:00 2001 From: cgf Date: Sat, 1 Aug 2009 17:55:58 +0000 Subject: [PATCH] * path.h (path_conv::set_path): Change return value. * spawn.cc (path_conv::set_path): Return newly set value. (find_exec): Set retval to newly set value when calling set_path. --- winsup/cygwin/ChangeLog | 6 ++++++ winsup/cygwin/path.h | 2 +- winsup/cygwin/spawn.cc | 8 ++++---- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 92219da0c0..8237ebb6af 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2009-08-01 Christopher Faylor + + * path.h (path_conv::set_path): Change return value. + * spawn.cc (path_conv::set_path): Return newly set value. + (find_exec): Set retval to newly set value when calling set_path. + 2009-07-31 Christopher Faylor * spawn.cc (find_exec): Fix one more path where retval was not set. diff --git a/winsup/cygwin/path.h b/winsup/cygwin/path.h index 8216d24ea8..98bec6fa84 100644 --- a/winsup/cygwin/path.h +++ b/winsup/cygwin/path.h @@ -232,7 +232,7 @@ class path_conv bool fs_is_cdrom () const {return fs.is_cdrom ();} bool fs_is_mvfs () const {return fs.is_mvfs ();} ULONG fs_serial_number () const {return fs.serial_number ();} - inline void set_path (const char *p); + inline char *set_path (const char *p); void fillin (HANDLE h); bool is_binary (); diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index 105d1988f7..009e53d170 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -87,12 +87,12 @@ perhaps_suffix (const char *prog, path_conv& buf, int& err, unsigned opt) return ext; } -inline void +inline char * path_conv::set_path (const char *p) { if (path) cfree (path); - path = cstrdup (p); + return path = cstrdup (p); } /* Find an executable name, possibly by appending known executable @@ -210,7 +210,7 @@ find_exec (const char *name, path_conv& buf, const char *mywinenv, out: if (posix) - buf.set_path (posix); + retval = buf.set_path (posix); debug_printf ("%s = find_exec (%s)", (char *) buf.get_win32 (), name); if (known_suffix) *known_suffix = suffix ?: strchr (buf.get_win32 (), '\0'); @@ -402,7 +402,7 @@ spawn_guts (const char *prog_arg, const char *const *argv, one_line.add (argv[1]); one_line.add (" "); one_line.add (argv[2]); - strcpy (real_path.get_win32 (), argv[0]); + real_path.set_path (argv[0]); null_app_name = true; } else -- 2.11.0