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 +4 -4
- data/lib/majorsilence_reporting/report_native.rb +16 -4
- data/lib/majorsilence_reporting/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dd28f7a474ab3c01d9302c2dee0f28cd4b46bbaa77d43e8852135ee7efa5a8dc
|
|
4
|
+
data.tar.gz: a110ea2c0bb28cc524f43885389f68bb1215771ed16027333bd4eb5fec504872
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
|
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
|
|
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
|
|
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
|
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:
|
|
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.
|
|
98
|
+
rubygems_version: 4.0.20
|
|
99
99
|
specification_version: 4
|
|
100
100
|
summary: Ruby bindings for Majorsilence Reporting
|
|
101
101
|
test_files: []
|