Annotation of /trunk/make/patches/make-3.82-bug30612.patch
Parent Directory | Revision Log
Revision 1378 -
(hide annotations)
(download)
Wed Jun 29 14:51:30 2011 UTC (13 years, 3 months ago) by niro
File size: 2415 byte(s)
Wed Jun 29 14:51:30 2011 UTC (13 years, 3 months ago) by niro
File size: 2415 byte(s)
-serveral patches
1 | niro | 1378 | diff -Naur make-3.82-orig/main.c make-3.82-fix30612//main.c |
2 | --- make-3.82-orig/main.c 2010-07-19 17:10:53.000000000 +1000 | ||
3 | +++ make-3.82-fix30612//main.c 2010-09-23 23:33:37.908855839 +1000 | ||
4 | @@ -1,3 +1,4 @@ | ||
5 | + | ||
6 | /* Argument parsing and main program of GNU Make. | ||
7 | Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, | ||
8 | 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, | ||
9 | @@ -1138,7 +1139,7 @@ | ||
10 | a macro and some compilers (MSVC) don't like conditionals in macros. */ | ||
11 | { | ||
12 | const char *features = "target-specific order-only second-expansion" | ||
13 | - " else-if shortest-stem undefine" | ||
14 | + " else-if shortest-stem undefine oneshell" | ||
15 | #ifndef NO_ARCHIVES | ||
16 | " archives" | ||
17 | #endif | ||
18 | diff -Naur make-3.82-orig/read.c make-3.82-fix30612//read.c | ||
19 | --- make-3.82-orig/read.c 2010-07-13 11:20:42.000000000 +1000 | ||
20 | +++ make-3.82-fix30612//read.c 2010-09-23 23:30:58.018855839 +1000 | ||
21 | @@ -3028,7 +3028,7 @@ | ||
22 | { | ||
23 | /* This looks like the first element in an open archive group. | ||
24 | A valid group MUST have ')' as the last character. */ | ||
25 | - const char *e = p + nlen; | ||
26 | + const char *e = p; | ||
27 | do | ||
28 | { | ||
29 | e = next_token (e); | ||
30 | @@ -3084,19 +3084,19 @@ | ||
31 | Go to the next item in the string. */ | ||
32 | if (flags & PARSEFS_NOGLOB) | ||
33 | { | ||
34 | - NEWELT (concat (2, prefix, tp)); | ||
35 | + NEWELT (concat (2, prefix, tmpbuf)); | ||
36 | continue; | ||
37 | } | ||
38 | |||
39 | /* If we get here we know we're doing glob expansion. | ||
40 | TP is a string in tmpbuf. NLEN is no longer used. | ||
41 | We may need to do more work: after this NAME will be set. */ | ||
42 | - name = tp; | ||
43 | + name = tmpbuf; | ||
44 | |||
45 | /* Expand tilde if applicable. */ | ||
46 | - if (tp[0] == '~') | ||
47 | + if (tmpbuf[0] == '~') | ||
48 | { | ||
49 | - tildep = tilde_expand (tp); | ||
50 | + tildep = tilde_expand (tmpbuf); | ||
51 | if (tildep != 0) | ||
52 | name = tildep; | ||
53 | } | ||
54 | @@ -3152,7 +3152,11 @@ | ||
55 | else | ||
56 | { | ||
57 | /* We got a chain of items. Attach them. */ | ||
58 | - (*newp)->next = found; | ||
59 | + if (*newp) | ||
60 | + (*newp)->next = found; | ||
61 | + else | ||
62 | + *newp = found; | ||
63 | + | ||
64 | |||
65 | /* Find and set the new end. Massage names if necessary. */ | ||
66 | while (1) |