Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

File renaming is profoundly broken #103

Closed
alor opened this issue Oct 17, 2013 · 1 comment
Closed

File renaming is profoundly broken #103

alor opened this issue Oct 17, 2013 · 1 comment

Comments

@alor
Copy link
Contributor

alor commented Oct 17, 2013

Create a directory called test.
create four files inside that directory called: a, b, c, d
zip that directory with: zip -r test.zip test/

then execute this script:

  Zip::File.open('test.zip', "wb") do |z|
    z.each do |f|
      puts f.name
      z.rename f, "Z" + f.name
    end
  end

  puts "OUTPUT:

  Zip::File.open('test.zip', "wb") do |z|
    z.each do |f|
      puts f.name
    end
  end

the result is:

test/
test/b
test/d
Ztest/b
ZZtest/b
OUTPUT:
test/a
test/c
Ztest/
Ztest/d
ZZZtest/b

it seems that the entry are mangled while iterating over them with the z.each()

@topac
Copy link

topac commented Oct 17, 2013

+1

simonoff added a commit that referenced this issue Oct 20, 2013
githubmo pushed a commit to githubmo/rubyzip that referenced this issue Jan 6, 2014
…ypt-perf

* 'master' of https://github.com/rubyzip/rubyzip:
  Explicitly add the released 2.1.0 Ruby version Remove branch restriction
  Fix Rubinius by adding newly required gems, updating label in .travis.yml
  Update README.md
  Update README.md
  Make File.open_buffer support Tempfiles
  Version bump
  Update Changelog with Ruby 1.9 requirement
  Update README to reflect 1.9 requirement
  Fix rubyzip#106 Set options about restoring ownerships, permissions and times. restore permissions enabled by default.
  fix jRuby Building rubyzip#104
  Fix rubyzip#28 and rubyzip#103
  disable jRuby for a while
  Fix rubyzip#102 recover file permissions if zip file was exist
  Add missing Zip::Entry arguments to Zip::File#get_output_stream. Fixes rubyzip#100
  fix string encoding of zip64 header ids for ruby 2.0
  Add read/write support for zip64 extensions

Conflicts:
	lib/zip/extra_field.rb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants