majorsilence_reporting 26.0.2 → 27.0.0.alpha.11

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: d0c20949e3b2c421c89e771936dc50e98082291cf6e11d145de122460ccf8853
4
- data.tar.gz: b9ea34259b4746f52d222fdda1582a12e49b35c7b21017c4d0294c8eab720995
3
+ metadata.gz: dd28f7a474ab3c01d9302c2dee0f28cd4b46bbaa77d43e8852135ee7efa5a8dc
4
+ data.tar.gz: a110ea2c0bb28cc524f43885389f68bb1215771ed16027333bd4eb5fec504872
5
5
  SHA512:
6
- metadata.gz: 9af31caf85cf5eaf612009990b8a66fcd17c8e6be8195cab1662cee9813f11ad1a882d37815a7e81f91f5010df24f7840622d1d3f511849b396336d9f608898d
7
- data.tar.gz: 7714eb5ca849b9044754c0c1d9b27fdc6d4cfca7fda63c4e3d263bf674ac9c28798c7e1ea861dcff3a3cc72c5d740a90a48abb334d77e2d3a2c22457d94ef090
6
+ metadata.gz: 5c267753000cbf4daea2d8cb319b9cfd8f0cdeaf55e6573e58820e76e666fe5f436cefe4ef75dcd8cbf721e3ab5e36e1ceeac5f24035a01ca0e3ba447b2030e4
7
+ data.tar.gz: 7323d67dc032eed2ee270f13ca07c57be6f9c3d97db8c0f1a5afa241c3295705a9fc3bee8c9944d26a4ab78a7712ca5812d77764ef8c47cbafcae6a8064e76a4
@@ -102,11 +102,23 @@ module RdlLibrary
102
102
  fns
103
103
  end
104
104
 
105
+ # Fiddle returns a TYPE_VOIDP result as a Fiddle::Pointer on current Rubies and as an Integer
106
+ # address on older ones, so never call Integer methods (zero?) on it directly.
107
+ def self.address_of(value)
108
+ return 0 if value.nil?
109
+
110
+ value.respond_to?(:to_i) ? value.to_i : value
111
+ end
112
+
113
+ def self.null_pointer?(value)
114
+ address_of(value).zero?
115
+ end
116
+
105
117
  def self.rdl_last_error_str(fns)
106
118
  ptr = fns[:rdl_last_error].call
107
- return 'unknown error' if ptr.nil? || ptr.zero?
119
+ return 'unknown error' if null_pointer?(ptr)
108
120
 
109
- Fiddle::Pointer.new(ptr).to_s
121
+ Fiddle::Pointer.new(address_of(ptr)).to_s
110
122
  end
111
123
  end
112
124
 
@@ -183,7 +195,7 @@ class ReportNative
183
195
  def with_handle
184
196
  cs_ptr = @connection_string ? c_str(@connection_string) : Fiddle::NULL
185
197
  h = @fns[:rdl_report_open].call(c_str(@report_path), cs_ptr)
186
- raise_last_error('rdl_report_open') if h.nil? || h.zero?
198
+ raise_last_error('rdl_report_open') if RdlLibrary.null_pointer?(h)
187
199
  begin
188
200
  @parameters.each do |name, value|
189
201
  ret = @fns[:rdl_report_set_param].call(h, c_str(name), c_str(value))
@@ -212,7 +224,7 @@ class ReportNative
212
224
 
213
225
  def raise_last_error(fn)
214
226
  ptr = @fns[:rdl_last_error].call
215
- msg = (ptr && !ptr.zero?) ? Fiddle::Pointer.new(ptr).to_s : 'unknown error'
227
+ msg = RdlLibrary.null_pointer?(ptr) ? 'unknown error' : Fiddle::Pointer.new(RdlLibrary.address_of(ptr)).to_s
216
228
  raise "#{fn} failed: #{msg}"
217
229
  end
218
230
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MajorsilenceReporting
4
- VERSION = '26.0.2'
4
+ VERSION = '27.0.0.alpha.11'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: majorsilence_reporting
3
3
  version: !ruby/object:Gem::Version
4
- version: 26.0.2
4
+ version: 27.0.0.alpha.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Gill
@@ -95,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  requirements: []
98
- rubygems_version: 4.0.10
98
+ rubygems_version: 4.0.20
99
99
  specification_version: 4
100
100
  summary: Ruby bindings for Majorsilence Reporting
101
101
  test_files: []