diff options
author | Paul Smith <psmith@gnu.org> | 2010-08-14 02:50:14 +0000 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2010-08-14 02:50:14 +0000 |
commit | 5acda13ace0ae4443ed04c4f8a62512b00a2b656 (patch) | |
tree | e12848b880e685ed54e2f86856c3d153517c6a5f /read.c | |
parent | 036760a9fdb11849b6a43feec7ce294e7f77db2a (diff) | |
download | gunmake-5acda13ace0ae4443ed04c4f8a62512b00a2b656.tar.gz |
- Fix the NEWS file to be accurate
- Add oneshell to $(.FEATURES) (forgot that!)
- Fix Savannah bug #30612: handling of archive references with >1 object
Diffstat (limited to 'read.c')
-rw-r--r-- | read.c | 15 |
1 files changed, 9 insertions, 6 deletions
@@ -3028,7 +3028,7 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar, { /* 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); @@ -3084,19 +3084,19 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar, 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; } @@ -3152,7 +3152,10 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar, 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) |