leveldb-ruby 0.6 → 0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/ext/leveldb/leveldb.cc +9 -2
  2. metadata +101 -117
@@ -25,7 +25,11 @@ typedef struct bound_db {
25
25
  } bound_db;
26
26
 
27
27
  static void db_free(bound_db* db) {
28
- delete db->db;
28
+ if(db->db != NULL) {
29
+ delete db->db;
30
+ db->db = NULL;
31
+ }
32
+ delete db;
29
33
  }
30
34
 
31
35
  static VALUE db_make(VALUE klass, VALUE v_pathname, VALUE v_create_if_necessary, VALUE v_break_if_exists) {
@@ -52,7 +56,10 @@ static VALUE db_close(VALUE self) {
52
56
  bound_db* db;
53
57
  Data_Get_Struct(self, bound_db, db);
54
58
 
55
- db_free(db);
59
+ if(db->db != NULL) {
60
+ delete db->db;
61
+ db->db = NULL;
62
+ }
56
63
  return Qtrue;
57
64
  }
58
65
 
metadata CHANGED
@@ -1,183 +1,167 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: leveldb-ruby
3
- version: !ruby/object:Gem::Version
4
- hash: 7
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.7'
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 6
9
- version: "0.6"
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - William Morgan
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2011-06-29 13:34:49 -07:00
12
+ date: 2011-07-16 13:48:52.000000000 -07:00
18
13
  default_executable:
19
14
  dependencies: []
20
-
21
15
  description: LevelDB-Ruby is a Ruby binding to LevelDB.
22
16
  email: wmorgan-leveldb-ruby-gemspec@masanjin.net
23
17
  executables: []
24
-
25
- extensions:
18
+ extensions:
26
19
  - ext/leveldb/extconf.rb
27
- extra_rdoc_files:
20
+ extra_rdoc_files:
28
21
  - README
29
22
  - ext/leveldb/leveldb.cc
30
- files:
23
+ files:
31
24
  - README
32
25
  - ext/leveldb/extconf.rb
33
26
  - lib/leveldb.rb
34
27
  - ext/leveldb/leveldb.cc
35
28
  - leveldb/Makefile
36
- - leveldb/port/win/stdint.h
37
- - leveldb/port/port_osx.h
38
- - leveldb/port/port_android.h
39
- - leveldb/port/sha1_test.cc
40
- - leveldb/port/port_chromium.h
41
- - leveldb/port/port_chromium.cc
42
- - leveldb/port/port_posix.h
43
- - leveldb/port/sha1_portable.cc
44
- - leveldb/port/port_example.h
45
- - leveldb/port/port_posix.cc
46
- - leveldb/port/port.h
47
- - leveldb/port/sha1_portable.h
48
- - leveldb/port/port_android.cc
49
- - leveldb/port/port_osx.cc
50
- - leveldb/db/dbformat.cc
51
- - leveldb/db/db_test.cc
52
- - leveldb/db/write_batch_internal.h
53
- - leveldb/db/db_impl.h
54
- - leveldb/db/log_writer.cc
55
- - leveldb/db/write_batch.cc
29
+ - leveldb/db/builder.cc
30
+ - leveldb/db/builder.h
56
31
  - leveldb/db/corruption_test.cc
57
- - leveldb/db/db_impl.cc
58
- - leveldb/db/filename.h
59
- - leveldb/db/skiplist.h
60
- - leveldb/db/table_cache.cc
61
- - leveldb/db/log_test.cc
62
- - leveldb/db/log_reader.h
63
32
  - leveldb/db/db_bench.cc
64
- - leveldb/db/repair.cc
33
+ - leveldb/db/db_impl.cc
34
+ - leveldb/db/db_impl.h
65
35
  - leveldb/db/db_iter.cc
66
- - leveldb/db/write_batch_test.cc
67
- - leveldb/db/version_set.h
68
- - leveldb/db/memtable.cc
69
- - leveldb/db/version_set.cc
36
+ - leveldb/db/db_iter.h
37
+ - leveldb/db/db_test.cc
38
+ - leveldb/db/dbformat.cc
39
+ - leveldb/db/dbformat.h
40
+ - leveldb/db/dbformat_test.cc
41
+ - leveldb/db/filename.cc
42
+ - leveldb/db/filename.h
70
43
  - leveldb/db/filename_test.cc
71
- - leveldb/db/snapshot.h
72
- - leveldb/db/log_reader.cc
73
44
  - leveldb/db/log_format.h
74
- - leveldb/db/version_edit.cc
75
- - leveldb/db/table_cache.h
76
- - leveldb/db/builder.h
77
- - leveldb/db/dbformat.h
78
- - leveldb/db/db_iter.h
45
+ - leveldb/db/log_reader.cc
46
+ - leveldb/db/log_reader.h
47
+ - leveldb/db/log_test.cc
48
+ - leveldb/db/log_writer.cc
49
+ - leveldb/db/log_writer.h
50
+ - leveldb/db/memtable.cc
79
51
  - leveldb/db/memtable.h
80
- - leveldb/db/version_edit_test.cc
81
- - leveldb/db/dbformat_test.cc
82
- - leveldb/db/builder.cc
52
+ - leveldb/db/repair.cc
53
+ - leveldb/db/skiplist.h
83
54
  - leveldb/db/skiplist_test.cc
84
- - leveldb/db/log_writer.h
55
+ - leveldb/db/snapshot.h
56
+ - leveldb/db/table_cache.cc
57
+ - leveldb/db/table_cache.h
58
+ - leveldb/db/version_edit.cc
85
59
  - leveldb/db/version_edit.h
86
- - leveldb/db/filename.cc
60
+ - leveldb/db/version_edit_test.cc
61
+ - leveldb/db/version_set.cc
62
+ - leveldb/db/version_set.h
63
+ - leveldb/db/write_batch.cc
64
+ - leveldb/db/write_batch_internal.h
65
+ - leveldb/db/write_batch_test.cc
66
+ - leveldb/include/leveldb/cache.h
87
67
  - leveldb/include/leveldb/comparator.h
88
- - leveldb/include/leveldb/table.h
89
- - leveldb/include/leveldb/slice.h
68
+ - leveldb/include/leveldb/db.h
69
+ - leveldb/include/leveldb/env.h
90
70
  - leveldb/include/leveldb/iterator.h
71
+ - leveldb/include/leveldb/options.h
72
+ - leveldb/include/leveldb/slice.h
73
+ - leveldb/include/leveldb/status.h
74
+ - leveldb/include/leveldb/table.h
91
75
  - leveldb/include/leveldb/table_builder.h
92
- - leveldb/include/leveldb/env.h
93
- - leveldb/include/leveldb/db.h
94
- - leveldb/include/leveldb/cache.h
95
76
  - leveldb/include/leveldb/write_batch.h
96
- - leveldb/include/leveldb/status.h
97
- - leveldb/include/leveldb/options.h
77
+ - leveldb/port/port.h
78
+ - leveldb/port/port_android.cc
79
+ - leveldb/port/port_android.h
80
+ - leveldb/port/port_chromium.cc
81
+ - leveldb/port/port_chromium.h
82
+ - leveldb/port/port_example.h
83
+ - leveldb/port/port_osx.cc
84
+ - leveldb/port/port_osx.h
85
+ - leveldb/port/port_posix.cc
86
+ - leveldb/port/port_posix.h
87
+ - leveldb/port/sha1_portable.cc
88
+ - leveldb/port/sha1_portable.h
89
+ - leveldb/port/sha1_test.cc
90
+ - leveldb/port/win/stdint.h
91
+ - leveldb/table/block.cc
98
92
  - leveldb/table/block.h
93
+ - leveldb/table/block_builder.cc
94
+ - leveldb/table/block_builder.h
99
95
  - leveldb/table/format.cc
100
- - leveldb/table/table_test.cc
96
+ - leveldb/table/format.h
97
+ - leveldb/table/iterator.cc
101
98
  - leveldb/table/iterator_wrapper.h
99
+ - leveldb/table/merger.cc
102
100
  - leveldb/table/merger.h
103
- - leveldb/table/iterator.cc
104
- - leveldb/table/two_level_iterator.h
105
- - leveldb/table/two_level_iterator.cc
106
- - leveldb/table/format.h
107
101
  - leveldb/table/table.cc
108
- - leveldb/table/merger.cc
109
- - leveldb/table/block_builder.h
110
- - leveldb/table/block.cc
111
- - leveldb/table/block_builder.cc
112
102
  - leveldb/table/table_builder.cc
113
- - leveldb/util/comparator.cc
114
- - leveldb/util/histogram.cc
115
- - leveldb/util/hash.h
116
- - leveldb/util/crc32c.cc
117
- - leveldb/util/histogram.h
118
- - leveldb/util/testutil.h
103
+ - leveldb/table/table_test.cc
104
+ - leveldb/table/two_level_iterator.cc
105
+ - leveldb/table/two_level_iterator.h
106
+ - leveldb/util/arena.cc
119
107
  - leveldb/util/arena.h
120
- - leveldb/util/cache_test.cc
121
108
  - leveldb/util/arena_test.cc
122
- - leveldb/util/crc32c_test.cc
123
- - leveldb/util/env.cc
124
- - leveldb/util/coding_test.cc
125
- - leveldb/util/testharness.cc
109
+ - leveldb/util/cache.cc
110
+ - leveldb/util/cache_test.cc
111
+ - leveldb/util/coding.cc
126
112
  - leveldb/util/coding.h
127
- - leveldb/util/mutexlock.h
128
- - leveldb/util/logging.cc
129
- - leveldb/util/testutil.cc
130
- - leveldb/util/hash.cc
113
+ - leveldb/util/coding_test.cc
114
+ - leveldb/util/comparator.cc
115
+ - leveldb/util/crc32c.cc
131
116
  - leveldb/util/crc32c.h
132
- - leveldb/util/testharness.h
133
- - leveldb/util/env_test.cc
117
+ - leveldb/util/crc32c_test.cc
118
+ - leveldb/util/env.cc
119
+ - leveldb/util/env_chromium.cc
134
120
  - leveldb/util/env_posix.cc
135
- - leveldb/util/arena.cc
121
+ - leveldb/util/env_test.cc
122
+ - leveldb/util/hash.cc
123
+ - leveldb/util/hash.h
124
+ - leveldb/util/histogram.cc
125
+ - leveldb/util/histogram.h
126
+ - leveldb/util/logging.cc
127
+ - leveldb/util/logging.h
128
+ - leveldb/util/mutexlock.h
136
129
  - leveldb/util/options.cc
137
130
  - leveldb/util/random.h
138
- - leveldb/util/logging.h
139
- - leveldb/util/coding.cc
140
131
  - leveldb/util/status.cc
141
- - leveldb/util/cache.cc
142
- - leveldb/util/env_chromium.cc
132
+ - leveldb/util/testharness.cc
133
+ - leveldb/util/testharness.h
134
+ - leveldb/util/testutil.cc
135
+ - leveldb/util/testutil.h
143
136
  has_rdoc: true
144
137
  homepage: http://github.com/wmorgan/leveldb-ruby
145
138
  licenses: []
146
-
147
139
  post_install_message:
148
- rdoc_options:
140
+ rdoc_options:
149
141
  - -c
150
142
  - utf8
151
143
  - --main
152
144
  - README
153
145
  - --title
154
146
  - LevelDB
155
- require_paths:
147
+ require_paths:
156
148
  - lib
157
- required_ruby_version: !ruby/object:Gem::Requirement
149
+ required_ruby_version: !ruby/object:Gem::Requirement
158
150
  none: false
159
- requirements:
160
- - - ">="
161
- - !ruby/object:Gem::Version
162
- hash: 3
163
- segments:
164
- - 0
165
- version: "0"
166
- required_rubygems_version: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - ! '>='
153
+ - !ruby/object:Gem::Version
154
+ version: '0'
155
+ required_rubygems_version: !ruby/object:Gem::Requirement
167
156
  none: false
168
- requirements:
169
- - - ">="
170
- - !ruby/object:Gem::Version
171
- hash: 3
172
- segments:
173
- - 0
174
- version: "0"
157
+ requirements:
158
+ - - ! '>='
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
175
161
  requirements: []
176
-
177
162
  rubyforge_project:
178
163
  rubygems_version: 1.6.0
179
164
  signing_key:
180
165
  specification_version: 3
181
166
  summary: a Ruby binding to LevelDB
182
167
  test_files: []
183
-