ffi 1.0.12.rc1 → 1.0.12.rc2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of ffi might be problematic. Click here for more details.

data/Rakefile CHANGED
@@ -75,7 +75,7 @@ PROJ.name = 'ffi'
75
75
  PROJ.authors = 'Wayne Meissner'
76
76
  PROJ.email = 'wmeissner@gmail.com'
77
77
  PROJ.url = 'http://wiki.github.com/ffi/ffi'
78
- PROJ.version = '1.0.12.rc1'
78
+ PROJ.version = '1.0.12.rc2'
79
79
  PROJ.rubyforge.name = 'ffi'
80
80
  PROJ.readme_file = 'README.rdoc'
81
81
 
@@ -386,6 +386,11 @@ ptr_free(VALUE self)
386
386
  ptr->storage = NULL;
387
387
  }
388
388
  ptr->allocated = false;
389
+
390
+ } else {
391
+ VALUE caller = rb_funcall(rb_funcall(Qnil, rb_intern("caller"), 0), rb_intern("first"), 0);
392
+
393
+ rb_warn("calling free on non allocated pointer %s from %s", RSTRING_PTR(ptr_inspect(self)), RSTRING_PTR(rb_str_to_str(caller)));
389
394
  }
390
395
 
391
396
  return self;
@@ -146,10 +146,7 @@ struct_initialize_copy(VALUE self, VALUE other)
146
146
  // be longer than just this struct.
147
147
  //
148
148
  if (src->pointer->address != NULL) {
149
- memargs[0] = INT2FIX(1);
150
- memargs[1] = INT2FIX(src->layout->size);
151
- memargs[2] = Qfalse;
152
- dst->rbPointer = rb_class_new_instance(2, memargs, rbffi_MemoryPointerClass);
149
+ dst->rbPointer = rbffi_MemoryPointer_NewInstance(1, src->layout->size, false);
153
150
  dst->pointer = MEMORY(dst->rbPointer);
154
151
  memcpy(dst->pointer->address, src->pointer->address, src->layout->size);
155
152
  } else {
metadata CHANGED
@@ -1,30 +1,38 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ffi
3
- version: !ruby/object:Gem::Version
4
- version: 1.0.12.rc1
3
+ version: !ruby/object:Gem::Version
4
+ hash: 4204373591
5
5
  prerelease: 7
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 12
10
+ - rc
11
+ - 2
12
+ version: 1.0.12.rc2
6
13
  platform: ruby
7
- authors:
14
+ authors:
8
15
  - Wayne Meissner
9
16
  autorequire:
10
17
  bindir: bin
11
18
  cert_chain: []
12
- date: 2012-02-29 00:00:00.000000000 Z
19
+
20
+ date: 2012-04-02 00:00:00 +10:00
21
+ default_executable:
13
22
  dependencies: []
14
- description: ! 'Ruby-FFI is a ruby extension for programmatically loading dynamic
15
23
 
24
+ description: |-
25
+ Ruby-FFI is a ruby extension for programmatically loading dynamic
16
26
  libraries, binding functions within them, and calling those functions
17
-
18
27
  from Ruby code. Moreover, a Ruby-FFI extension works without changes
19
-
20
28
  on Ruby and JRuby. Discover why should you write your next extension
21
-
22
- using Ruby-FFI here[http://wiki.github.com/ffi/ffi/why-use-ffi].'
29
+ using Ruby-FFI here[http://wiki.github.com/ffi/ffi/why-use-ffi].
23
30
  email: wmeissner@gmail.com
24
31
  executables: []
25
- extensions:
32
+
33
+ extensions:
26
34
  - ext/ffi_c/extconf.rb
27
- extra_rdoc_files:
35
+ extra_rdoc_files:
28
36
  - History.txt
29
37
  - README.rdoc
30
38
  - lib/ffi/platform/arm-linux/types.conf
@@ -53,8 +61,7 @@ extra_rdoc_files:
53
61
  - lib/ffi/platform/x86_64-netbsd/types.conf
54
62
  - lib/ffi/platform/x86_64-openbsd/types.conf
55
63
  - lib/ffi/platform/x86_64-solaris/types.conf
56
- - lib/ffi_c.bundle
57
- files:
64
+ files:
58
65
  - History.txt
59
66
  - LICENSE
60
67
  - README.rdoc
@@ -435,7 +442,6 @@ files:
435
442
  - lib/ffi/types.rb
436
443
  - lib/ffi/union.rb
437
444
  - lib/ffi/variadic.rb
438
- - lib/ffi_c.bundle
439
445
  - spec/ffi/async_callback_spec.rb
440
446
  - spec/ffi/bool_spec.rb
441
447
  - spec/ffi/buffer_spec.rb
@@ -480,34 +486,45 @@ files:
480
486
  - tasks/svn.rake
481
487
  - tasks/test.rake
482
488
  - tasks/yard.rake
489
+ has_rdoc: true
483
490
  homepage: http://wiki.github.com/ffi/ffi
484
491
  licenses: []
492
+
485
493
  post_install_message:
486
- rdoc_options:
494
+ rdoc_options:
487
495
  - -x
488
496
  - ext
489
497
  - --main
490
498
  - README.rdoc
491
- require_paths:
499
+ require_paths:
492
500
  - lib
493
501
  - ext
494
- required_ruby_version: !ruby/object:Gem::Requirement
502
+ required_ruby_version: !ruby/object:Gem::Requirement
495
503
  none: false
496
- requirements:
497
- - - ! '>='
498
- - !ruby/object:Gem::Version
499
- version: '0'
500
- required_rubygems_version: !ruby/object:Gem::Requirement
504
+ requirements:
505
+ - - ">="
506
+ - !ruby/object:Gem::Version
507
+ hash: 3
508
+ segments:
509
+ - 0
510
+ version: "0"
511
+ required_rubygems_version: !ruby/object:Gem::Requirement
501
512
  none: false
502
- requirements:
503
- - - ! '>'
504
- - !ruby/object:Gem::Version
513
+ requirements:
514
+ - - ">"
515
+ - !ruby/object:Gem::Version
516
+ hash: 25
517
+ segments:
518
+ - 1
519
+ - 3
520
+ - 1
505
521
  version: 1.3.1
506
522
  requirements: []
523
+
507
524
  rubyforge_project: ffi
508
- rubygems_version: 1.8.11
525
+ rubygems_version: 1.6.2
509
526
  signing_key:
510
527
  specification_version: 3
511
- summary: Ruby-FFI is a ruby extension for programmatically loading dynamic libraries,
512
- binding functions within them, and calling those functions from Ruby code
528
+ summary: Ruby-FFI is a ruby extension for programmatically loading dynamic libraries, binding functions within them, and calling those functions from Ruby code
513
529
  test_files: []
530
+
Binary file