Skip to content

Commit fb75e99

Browse files
koumatzbot
authored andcommitted
[ruby/rubygems] Add missing .binmode for Gem::AtomicFileWriter
In ruby/rubygems#9202, I commented that `temp_file.binmode` is redundant. But I was wrong. We need `temp_file.binmode` even when we specify `File::BINARY`. Sorry. ruby/rubygems@d9f1f5c6a6
1 parent 631bf19 commit fb75e99

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

lib/rubygems/util/atomic_file_writer.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def self.open(file_name)
3030
flags |= File::SHARE_DELETE if defined?(File::SHARE_DELETE)
3131

3232
File.open(tmp_path, flags) do |temp_file|
33+
temp_file.binmode
3334
if old_stat
3435
# Set correct permissions on new file
3536
begin
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# frozen_string_literal: true
2+
3+
require_relative "helper"
4+
require "rubygems/util/atomic_file_writer"
5+
6+
class TestGemUtilAtomicFileWriter < Gem::TestCase
7+
def test_external_encoding
8+
Gem::AtomicFileWriter.open(File.join(@tempdir, "test.txt")) do |file|
9+
assert_equal(Encoding::ASCII_8BIT, file.external_encoding)
10+
end
11+
end
12+
end

0 commit comments

Comments
 (0)