[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #35397] make bug with ONESHELL and SHELLFLAGS
From: |
David Boyce |
Subject: |
[bug #35397] make bug with ONESHELL and SHELLFLAGS |
Date: |
Sun, 29 Jan 2012 20:22:37 +0000 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7 |
URL:
<http://savannah.gnu.org/bugs/?35397>
Summary: make bug with ONESHELL and SHELLFLAGS
Project: make
Submitted by: boyski
Submitted on: Sun 29 Jan 2012 08:22:36 PM GMT
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: 3.82
Operating System: Any
Fixed Release: None
Triage Status: None
_______________________________________________________
Details:
In a thread from the bug-make mailing list
(http://lists.gnu.org/archive/html/bug-make/2011-12/msg00039.html) a bug was
reported and the following patch was provided and reported to work fine. I 'm
filing this report to ensure the issue gets proper review and disposition
before the upcoming release.
The original report said:
====================================================
SHELL = /bin/bash
.SHELLFLAGS = -e –o pipefail -c
Works
.ONESHELL:
SHELL = /bin/bash
.SHELLFLAGS = -e –o pipefail –c
Doesn’t.
When the ONESHELL target is set .SHELLFLAGS must be set to a single value,
i.e. –ec.
====================================================
Index: job.c
===================================================================
RCS file: /sources/make/make/job.c,v
retrieving revision 1.215
diff -u -r1.215 job.c
--- job.c 15 Nov 2011 21:12:54 -0000 1.215
+++ job.c 22 Dec 2011 21:31:48 -0000
@@ -2960,12 +2960,21 @@
*t = '\0';
}
- new_argv = xmalloc (4 * sizeof (char *));
- new_argv[0] = xstrdup(shell);
- new_argv[1] = xstrdup(shellflags ? shellflags : "");
- new_argv[2] = line;
- new_argv[3] = NULL;
- return new_argv;
+ {
+ char *sfcopy;
+ char *sftok;
+ int n = 0;
+
+ sfcopy = xstrdup(shellflags ? shellflags : "");
+ new_argv = xmalloc ((4 + sflags_len/2) * sizeof (char *));
+ new_argv[n++] = xstrdup(shell);
+ for (sftok = strtok(sfcopy, " "); sftok; sftok = strtok(NULL, " "))
+ new_argv[n++] = xstrdup(sftok);
+ new_argv[n++] = line;
+ new_argv[n] = NULL;
+ free(sfcopy);
+ return new_argv;
+ }
}
new_line = alloca ((shell_len*2) + 1 + sflags_len + 1
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?35397>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [bug #35397] make bug with ONESHELL and SHELLFLAGS,
David Boyce <=