]> git.lizzy.rs Git - rust.git/commit
Auto merge of #25238 - alexcrichton:fix-archive-with-slashes, r=brson
authorbors <bors@rust-lang.org>
Thu, 14 May 2015 05:25:43 +0000 (05:25 +0000)
committerbors <bors@rust-lang.org>
Thu, 14 May 2015 05:25:43 +0000 (05:25 +0000)
commite77b03d783b5c9df88f1f743fe29615db43e1dda
tree6d712c76ccad4d008a2bd8e30f1ed114d9a21f5a
parent1b5b6390ba98577741261eef5961cc6e8b0075e1
parentf1ab6648fc67ff8af274d2e65a400de9af0e9ddf
Auto merge of #25238 - alexcrichton:fix-archive-with-slashes, r=brson

I've been working with some archives generated by MSVC's `lib.exe` tool lately,
and it looks like the embedded name of the members in those archives sometimes
have slahes in the name (e.g. `foo/bar/baz.obj`). Currently the compiler chokes
on these paths as it assumes that each file in the archive is only the filename
(which is what unix does).

This commit interprets the name of each file in all archives as a path and then
only uses the `file_name` portion of the path to extract the file to a separate
location and then reassemble it back into a new archive later. Note that
duplicate filenames are already handled, so this won't introduce any conflicts.