bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #16362] Regression: make -n causes $(shell) failure on Windows


From: Eli Zaretskii
Subject: [bug #16362] Regression: make -n causes $(shell) failure on Windows
Date: Sat, 27 May 2006 16:09:46 +0300
User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

Follow-up Comment #3, bug #16362 (project make):

The following patch fixes this bug:

--- function.c~0        2006-04-01 12:36:40.000000000 +0300
+++ function.c  2006-05-27 15:58:26.984375000 +0300
@@ -1589,12 +1589,25 @@ func_shell (char *o, char **argv, const 
   int pid;
 
 #ifndef __MSDOS__
+#ifdef WINDOWS32
+  /* Reset just_print_flag.  This is needed on Windows when batch files
+     are used to run the commands, because we normally refrain from
+     creating batch files under -n.  */
+  int j_p_f = just_print_flag;
+
+  just_print_flag = 0;
+#endif
   /* Construct the argument list.  */
   command_argv = construct_command_argv (argv[0],
                                         (char **) NULL, (struct file *) 0,
                                          &batch_filename);
   if (command_argv == 0)
-    return o;
+    {
+#ifdef WINDOWS32
+      just_print_flag = j_p_f;
+#endif
+      return o;
+    }
 #endif
 
   /* Using a target environment for `shell' loses in cases like:
@@ -1622,12 +1635,14 @@ func_shell (char *o, char **argv, const 
 #ifdef WINDOWS32
 
   windows32_openpipe (pipedes, &pid, command_argv, envp);
+  /* Restore the value of just_print_flag.  */
+  just_print_flag = j_p_f;
 
   if (pipedes[0] < 0) {
        /* open of the pipe failed, mark as failed execution */
     shell_function_completed = -1;
 
-       return o;
+    return o;
   } else
 
 #elif defined(__MSDOS__)


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?func=detailitem&item_id=16362>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]