mirror of
https://salsa.debian.org/srivasta/make-dfsg.git
synced 2024-12-28 15:58:07 +00:00
[SV #39035] Compare OUT to the beginning of the OUT var/func, not IN.
This commit is contained in:
parent
d2eaed1f0a
commit
bf60bbd67a
4 changed files with 34 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2013-05-26 Paul Smith <psmith@gnu.org>
|
||||
|
||||
* job.c (new_job): Compare OUT to the beginning of the OUT
|
||||
var/function, not IN. Fixes Savannah bug #39035.
|
||||
|
||||
2013-05-22 Paul Smith <psmith@gnu.org>
|
||||
|
||||
* main.c (switches[]): Order switches so simple flags all come first.
|
||||
|
|
4
job.c
4
job.c
|
@ -2036,10 +2036,12 @@ new_job (struct file *file)
|
|||
{
|
||||
char openparen = *ref;
|
||||
char closeparen = openparen == '(' ? ')' : '}';
|
||||
char *outref;
|
||||
int count;
|
||||
char *p;
|
||||
|
||||
*out++ = *in++; /* Copy OPENPAREN. */
|
||||
outref = out;
|
||||
/* IN now points past the opening paren or brace.
|
||||
Count parens or braces until it is matched. */
|
||||
count = 0;
|
||||
|
@ -2072,7 +2074,7 @@ new_job (struct file *file)
|
|||
|
||||
/* Discard any preceding whitespace that has
|
||||
already been written to the output. */
|
||||
while (out > ref
|
||||
while (out > outref
|
||||
&& isblank ((unsigned char)out[-1]))
|
||||
--out;
|
||||
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2013-05-26 Paul Smith <psmith@gnu.org>
|
||||
|
||||
* scripts/misc/bs-nl: Test for Savannah bug #39035.
|
||||
|
||||
2013-05-22 Paul Smith <psmith@gnu.org>
|
||||
|
||||
* scripts/options/dash-n: Fix results after MAKEFLAGS fixes.
|
||||
|
|
|
@ -99,4 +99,26 @@ var = he\
|
|||
var:;@echo '|$(var)|'!,
|
||||
'', "|he llo|");
|
||||
|
||||
# Savannah #39035: handle whitespace in call
|
||||
run_make_test(q!
|
||||
f = echo $(1)
|
||||
t:; @$(call f,"a \
|
||||
b"); \
|
||||
$(call f,"a \
|
||||
b")
|
||||
!,
|
||||
'', "a b\na b\n");
|
||||
|
||||
# Savannah #38945: handle backslash CRLF
|
||||
# We need our own makefile so we can set binmode
|
||||
my $m1 = get_tmpfile();
|
||||
open(MAKEFILE, "> $m1");
|
||||
binmode(MAKEFILE);
|
||||
print MAKEFILE "FOO = foo \\\r\nbar\nall: ; \@echo \$(FOO)\n";
|
||||
close(MAKEFILE);
|
||||
|
||||
run_make_with_options($m1, '', get_logfile());
|
||||
compare_output("foo bar\n", get_logfile(1));
|
||||
|
||||
|
||||
1;
|
||||
|
|
Loading…
Reference in a new issue