ffi-libsodium 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0b54d280d3fdd22d6572b1eed77f44a3c7566091
4
- data.tar.gz: abdbaaa5de78cc99f1cb9a26044e5ba4514e0127
3
+ metadata.gz: fdc92d489a260705153ce0494e12e0f1289e05ba
4
+ data.tar.gz: 9fcd924e4c32a968b4a289c5f83205ec22c482d9
5
5
  SHA512:
6
- metadata.gz: 2ead290d9a7cfdc44bf9184d5ac2245e9af185d53d7ce34588afa63b7438204a53521b43a136ed394bfe6193d68949932d7656fa1a1fdc8cf0a71bd3f88435fd
7
- data.tar.gz: 6e9dedb63914e6287f3ba27f5a3d6a970a04f0c297f60ee6938831cbe58b979fa75c7660bc9c3d37b0f47d13729a8a1abc2a29580cd07aaa5a909a72f086f696
6
+ metadata.gz: 2b0997acf74a10f0d18eb4fb72db925e38ddd69d7da98b198cc04b6d3f206ebf9d44a4ed34491c88432e0f304138cc2ee26044f9d551dde2b6e3d843ba621091
7
+ data.tar.gz: b1ece50e6cd1af7c61edf6ca14ae0c77a516ca8382d52a321c0ff9dae1c44596fac4c03983cfe55ab66859be75a7923c7807af1e56cc00214a5daca9510a779c
@@ -13,13 +13,13 @@ module Sodium
13
13
  def initialize(size)
14
14
  @size = Integer(size)
15
15
  @to_ptr = Sodium.malloc(@size)
16
- setup_finalizer
16
+ ObjectSpace.define_finalizer(@to_ptr, self.class.free(@to_ptr.address))
17
17
  end
18
18
 
19
19
  def free
20
- remove_finalizer
21
20
  Sodium::Mprotect.readonly(@to_ptr)
22
21
  Sodium.free(@to_ptr)
22
+ ObjectSpace.undefine_finalizer @to_ptr
23
23
  remove_instance_variable(:@size)
24
24
  remove_instance_variable(:@to_ptr)
25
25
  true
@@ -39,14 +39,6 @@ module Sodium
39
39
 
40
40
  private
41
41
 
42
- def setup_finalizer
43
- ObjectSpace.define_finalizer(@to_ptr, self.class.free(@to_ptr.address))
44
- end
45
-
46
- def remove_finalizer
47
- ObjectSpace.undefine_finalizer @to_ptr
48
- end
49
-
50
42
  def self.free(address)
51
43
  ->(obj_id) do
52
44
  ptr = FFI::Pointer.new(address)
data/lib/sodium/utils.rb CHANGED
@@ -16,13 +16,13 @@ module Sodium
16
16
 
17
17
  def check_length(data, length, description)
18
18
  if data.respond_to?(:bytesize)
19
- data.bytesize == length || fail(LengthError, "Expected a length=#{length} bytes #{description}, got size=#{data.bytesize} bytes", caller)
19
+ data.bytesize == length || fail(LengthError, "Expected a length=#{length} bytes #{description}, got bytesize=#{data.bytesize} bytes", caller)
20
20
  else
21
21
  data.size == length || fail(LengthError, "Expected a length=#{length} bytes #{description}, got size=#{data.size} bytes", caller)
22
22
  end
23
23
  end
24
24
 
25
- ZERO = "\0".force_encoding(Encoding::ASCII_8BIT).freeze
25
+ ZERO = "\0".encode(Encoding::ASCII_8BIT).freeze
26
26
 
27
27
  def zeros(n)
28
28
  ZERO * n
@@ -1,3 +1,3 @@
1
1
  module Sodium
2
- VERSION = Gem::Version.new('0.2.1')
2
+ VERSION = Gem::Version.new('0.2.2')
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-libsodium
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hendrik Beskow
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-18 00:00:00.000000000 Z
11
+ date: 2014-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi