diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2013-05-03 19:33:09 +0400 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2013-05-03 19:33:09 +0400 |
commit | 0d66b125183a647c0c1a25a21b6e68d793c85f1d (patch) | |
tree | dd1ad2a33d1979217e333ab90ac31884276e5d19 /debian/patches/bug30612.patch | |
parent | b785ee5e3497428ec9c7b595f727248d33cf40a7 (diff) | |
download | make.old-0d66b125183a647c0c1a25a21b6e68d793c85f1d.tar.gz |
Fix Savannah bug #30612dyson/3.82-3+dyson1
handling of archive references with >1 object
Diffstat (limited to 'debian/patches/bug30612.patch')
-rw-r--r-- | debian/patches/bug30612.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/debian/patches/bug30612.patch b/debian/patches/bug30612.patch new file mode 100644 index 0000000..673be1d --- /dev/null +++ b/debian/patches/bug30612.patch @@ -0,0 +1,52 @@ +Description: Fix Savannah bug #30612: handling of archive references with >1 object +Source: http://cvs.savannah.gnu.org/viewvc/make/make/read.c?r1=1.193&r2=1.194 +Bug: https://savannah.gnu.org/bugs/?30612 +Index: make/read.c +=================================================================== +--- make.orig/read.c 2013-05-03 18:55:48.713768282 +0400 ++++ make/read.c 2013-05-03 18:55:48.910846433 +0400 +@@ -3033,7 +3033,7 @@ + { + /* This looks like the first element in an open archive group. + A valid group MUST have ')' as the last character. */ +- const char *e = p + nlen; ++ const char *e = p; + do + { + e = next_token (e); +@@ -3089,19 +3089,19 @@ + Go to the next item in the string. */ + if (flags & PARSEFS_NOGLOB) + { +- NEWELT (concat (2, prefix, tp)); ++ NEWELT (concat (2, prefix, tmpbuf)); + continue; + } + + /* If we get here we know we're doing glob expansion. + TP is a string in tmpbuf. NLEN is no longer used. + We may need to do more work: after this NAME will be set. */ +- name = tp; ++ name = tmpbuf; + + /* Expand tilde if applicable. */ +- if (tp[0] == '~') ++ if (tmpbuf[0] == '~') + { +- tildep = tilde_expand (tp); ++ tildep = tilde_expand (tmpbuf); + if (tildep != 0) + name = tildep; + } +@@ -3157,7 +3157,10 @@ + else + { + /* We got a chain of items. Attach them. */ +- (*newp)->next = found; ++ if (*newp) ++ (*newp)->next = found; ++ else ++ *newp = found; + + /* Find and set the new end. Massage names if necessary. */ + while (1) |