wok-current diff make/stuff/bug30612.patch @ rev 6693

Added 2 patches to make. Patches came from archlinux.
author Christopher Rogers <slaxemulator@gmail.com>
date Wed Oct 13 01:41:55 2010 +0000 (2010-10-13)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/make/stuff/bug30612.patch	Wed Oct 13 01:41:55 2010 +0000
     1.3 @@ -0,0 +1,66 @@
     1.4 +diff -Naur make-3.82-orig/main.c make-3.82-fix30612//main.c
     1.5 +--- make-3.82-orig/main.c	2010-07-19 17:10:53.000000000 +1000
     1.6 ++++ make-3.82-fix30612//main.c	2010-09-23 23:33:37.908855839 +1000
     1.7 +@@ -1,3 +1,4 @@
     1.8 ++
     1.9 + /* Argument parsing and main program of GNU Make.
    1.10 + Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
    1.11 + 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
    1.12 +@@ -1138,7 +1139,7 @@
    1.13 +      a macro and some compilers (MSVC) don't like conditionals in macros.  */
    1.14 +   {
    1.15 +     const char *features = "target-specific order-only second-expansion"
    1.16 +-                           " else-if shortest-stem undefine"
    1.17 ++                           " else-if shortest-stem undefine oneshell"
    1.18 + #ifndef NO_ARCHIVES
    1.19 +                            " archives"
    1.20 + #endif
    1.21 +diff -Naur make-3.82-orig/read.c make-3.82-fix30612//read.c
    1.22 +--- make-3.82-orig/read.c	2010-07-13 11:20:42.000000000 +1000
    1.23 ++++ make-3.82-fix30612//read.c	2010-09-23 23:30:58.018855839 +1000
    1.24 +@@ -3028,7 +3028,7 @@
    1.25 +             {
    1.26 +               /* This looks like the first element in an open archive group.
    1.27 +                  A valid group MUST have ')' as the last character.  */
    1.28 +-              const char *e = p + nlen;
    1.29 ++              const char *e = p;
    1.30 +               do
    1.31 +                 {
    1.32 +                   e = next_token (e);
    1.33 +@@ -3084,19 +3084,19 @@
    1.34 +          Go to the next item in the string.  */
    1.35 +       if (flags & PARSEFS_NOGLOB)
    1.36 +         {
    1.37 +-          NEWELT (concat (2, prefix, tp));
    1.38 ++          NEWELT (concat (2, prefix, tmpbuf));
    1.39 +           continue;
    1.40 +         }
    1.41 + 
    1.42 +       /* If we get here we know we're doing glob expansion.
    1.43 +          TP is a string in tmpbuf.  NLEN is no longer used.
    1.44 +          We may need to do more work: after this NAME will be set.  */
    1.45 +-      name = tp;
    1.46 ++      name = tmpbuf;
    1.47 + 
    1.48 +       /* Expand tilde if applicable.  */
    1.49 +-      if (tp[0] == '~')
    1.50 ++      if (tmpbuf[0] == '~')
    1.51 + 	{
    1.52 +-	  tildep = tilde_expand (tp);
    1.53 ++	  tildep = tilde_expand (tmpbuf);
    1.54 + 	  if (tildep != 0)
    1.55 +             name = tildep;
    1.56 + 	}
    1.57 +@@ -3152,7 +3152,11 @@
    1.58 +             else
    1.59 +               {
    1.60 +                 /* We got a chain of items.  Attach them.  */
    1.61 +-                (*newp)->next = found;
    1.62 ++                if (*newp)
    1.63 ++                  (*newp)->next = found;
    1.64 ++                else
    1.65 ++                  *newp = found;
    1.66 ++
    1.67 + 
    1.68 +                 /* Find and set the new end.  Massage names if necessary.  */
    1.69 +                 while (1)