ffi 1.14.0-x86-mingw32 → 1.14.1-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8e8184354517195803468a9eba80024040685e79b3c4417d0b0c103d2c469e04
4
- data.tar.gz: 1a460d06e141c46aa5392f85fd5318d17295d04ab63907c96965f00d517c3860
3
+ metadata.gz: 59b764144f02af4cc91789909e7b82d18c942f1ed9b4e525a507d78ace59be0c
4
+ data.tar.gz: 3a9019cef1c9cd940be2b33d304eef5a8ba8849a6d7ec84e17c9902cc5838495
5
5
  SHA512:
6
- metadata.gz: 3b7cb006d5f69f2f3aa394cb30493e74b50e6572438826b68778d9e4239c0b32bc7371bddac9741541e535133a141d8a35db00a910fb54d12d470477893ca4d4
7
- data.tar.gz: f7585720ce34fb301e2410033d6c282fb1a0176a93858a35476a45912ca90b9ee2972554ab3d464300ed7dfc6d20c85cd9b0d0f3b42c5d85eec3a6f8e25db61d
6
+ metadata.gz: e07cd563092e4ab9f075cbc354df4598dd911dcfbd350d7939107df264220a9763c5cdd92b9a5d5695197fce23d9e93d2d06bcb8a2f7b3943351ecdf65716ba5
7
+ data.tar.gz: 051bf4d523f61fd83c787efb3534972b9fc51d6c5598e80ddb76237d49f4cd29d65d6e6fc9d0417dc2710171b52adf1b15c98816d0ba8e1248d51a7527f315bd
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ 1.14.1 / 2020-12-19
2
+ -------------------
3
+
4
+ Changed:
5
+ * Revert changes to FFI::Pointer#write_string made in ffi-1.14.0.
6
+ It turned out that it can cause hard to find errors. #857
7
+
8
+
1
9
  1.14.0 / 2020-12-18
2
10
  -------------------
3
11
 
data/lib/2.3/ffi_c.so CHANGED
Binary file
data/lib/2.4/ffi_c.so CHANGED
Binary file
data/lib/2.5/ffi_c.so CHANGED
Binary file
data/lib/2.6/ffi_c.so CHANGED
Binary file
data/lib/2.7/ffi_c.so CHANGED
Binary file
data/lib/ffi/pointer.rb CHANGED
@@ -85,37 +85,23 @@ module FFI
85
85
  # @param [String] str string to write
86
86
  # @param [Numeric] len length of string to return
87
87
  # @return [self]
88
- # Write +len+ first bytes of +str+ in pointer's contents and a final \0 byte.
88
+ # Write +len+ first bytes of +str+ in pointer's contents.
89
89
  #
90
90
  # Same as:
91
91
  # ptr.write_string(str, len) # with len not nil
92
92
  def write_string_length(str, len)
93
- write_string(str, len)
93
+ put_bytes(0, str, 0, len)
94
94
  end unless method_defined?(:write_string_length)
95
95
 
96
96
  # @param [String] str string to write
97
97
  # @param [Numeric] len length of string to return
98
98
  # @return [self]
99
- # Write +str+ in pointer's contents.
100
- # If +len+ is given, write the first +len+ bytes of +str+.
101
- # In both cases a final \0 byte is written after the string.
99
+ # Write +str+ in pointer's contents, or first +len+ bytes if
100
+ # +len+ is not +nil+.
102
101
  def write_string(str, len=nil)
103
- if len
104
- if len == size
105
- warn "[DEPRECATION] Memory too small to write a final 0-byte in #{caller(1, 1)[0]}. This will raise an error in ffi-2.0. Please use write_bytes instead or enlarge the memory region."
106
- write_bytes(str, 0, len)
107
- else
108
- put_char(len, 0) # Check size before writing str
109
- write_bytes(str, 0, len)
110
- end
111
- else
112
- if str.bytesize == size
113
- warn "[DEPRECATION] Memory too small to write a final 0-byte in #{caller(1, 1)[0]}. This will raise an error in ffi-2.0. Please use write_bytes instead or enlarge the memory region."
114
- write_bytes(str)
115
- else
116
- put_string(0, str)
117
- end
118
- end
102
+ len = str.bytesize unless len
103
+ # Write the string data without NUL termination
104
+ put_bytes(0, str, 0, len)
119
105
  end unless method_defined?(:write_string)
120
106
 
121
107
  # @param [Type] type type of data to read from pointer's contents
data/lib/ffi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module FFI
2
- VERSION = '1.14.0'
2
+ VERSION = '1.14.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.0
4
+ version: 1.14.1
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Wayne Meissner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-18 00:00:00.000000000 Z
11
+ date: 2020-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake