Jason Edmeades : cmd: Fix "PATH=value" command.

Alexandre Julliard julliard at winehq.org
Wed Sep 5 15:36:45 CDT 2012


Module: wine
Branch: master
Commit: 4f71f4af59b8989b2288800a7b337f61475df505
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4f71f4af59b8989b2288800a7b337f61475df505

Author: Jason Edmeades <jason at edmeades.me.uk>
Date:   Tue Sep  4 00:30:17 2012 +0100

cmd: Fix "PATH=value" command.

---

 programs/cmd/builtins.c                  |    2 +-
 programs/cmd/tests/test_builtins.cmd     |   11 +++++++++++
 programs/cmd/tests/test_builtins.cmd.exp |    4 ++++
 3 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c
index 16f4eff..b2546d4 100644
--- a/programs/cmd/builtins.c
+++ b/programs/cmd/builtins.c
@@ -2371,7 +2371,7 @@ void WCMD_setshow_path (const WCHAR *command) {
   static const WCHAR pathW[] = {'P','A','T','H','\0'};
   static const WCHAR pathEqW[] = {'P','A','T','H','=','\0'};
 
-  if (strlenW(param1) == 0) {
+  if (strlenW(param1) == 0 && strlenW(param2) == 0) {
     status = GetEnvironmentVariableW(pathW, string, sizeof(string)/sizeof(WCHAR));
     if (status != 0) {
       WCMD_output_asis ( pathEqW);
diff --git a/programs/cmd/tests/test_builtins.cmd b/programs/cmd/tests/test_builtins.cmd
index 13b53c5..093cc23 100644
--- a/programs/cmd/tests/test_builtins.cmd
+++ b/programs/cmd/tests/test_builtins.cmd
@@ -1530,6 +1530,17 @@ if d==d goto dest4
 :dest4 at space@
 echo goto with a following space worked
 
+echo ------------ Testing PATH ------------
+set backup_path=%path%
+set path=original
+path
+path try2
+path
+path=try3
+path
+set path=%backup_path%
+set backup_path=
+
 echo ------------ Testing combined CALLs/GOTOs ------------
 echo @echo off>foo.cmd
 echo goto :eof>>foot.cmd
diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp
index b7bcd96..93b11e5 100644
--- a/programs/cmd/tests/test_builtins.cmd.exp
+++ b/programs/cmd/tests/test_builtins.cmd.exp
@@ -825,6 +825,10 @@ goto with no leading space worked
 goto with a leading space worked
 goto with a leading tab worked
 goto with a following space worked
+------------ Testing PATH ------------
+PATH=original
+PATH=try2
+PATH=try3
 ------------ Testing combined CALLs/GOTOs ------------
 world
 cheball




More information about the wine-cvs mailing list