bson_ext 1.2.1 → 1.2.2

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.
Files changed (3) hide show
  1. data/ext/cbson/cbson.c +8 -1
  2. data/ext/cbson/version.h +1 -1
  3. metadata +8 -5
data/ext/cbson/cbson.c CHANGED
@@ -162,6 +162,7 @@ static void write_utf8(buffer_t buffer, VALUE string, char check_null) {
162
162
  *buffer = malloc(vslength); \
163
163
  _snprintf(*buffer, vslength, "%d", i); \
164
164
  }
165
+ #define FREE_INTSTRING(buffer) free(buffer)
165
166
  #else
166
167
  #define INT2STRING(buffer, i) \
167
168
  { \
@@ -169,9 +170,15 @@ static void write_utf8(buffer_t buffer, VALUE string, char check_null) {
169
170
  *buffer = malloc(vslength); \
170
171
  snprintf(*buffer, vslength, "%d", i); \
171
172
  }
173
+ #define FREE_INTSTRING(buffer) free(buffer)
172
174
  #endif
173
175
  #else
174
176
  #define INT2STRING(buffer, i) asprintf(buffer, "%d", i);
177
+ #ifdef USING_SYSTEM_ALLOCATOR_LIBRARY /* Ruby Enterprise Edition with tcmalloc */
178
+ #define FREE_INTSTRING(buffer) system_free(buffer)
179
+ #else
180
+ #define FREE_INTSTRING(buffer) free(buffer)
181
+ #endif
175
182
  #endif
176
183
 
177
184
  #ifndef RREGEXP_SRC
@@ -320,7 +327,7 @@ static int write_element(VALUE key, VALUE value, VALUE extra, int allow_id) {
320
327
  INT2STRING(&name, i);
321
328
  key = rb_str_new2(name);
322
329
  write_element_with_id(key, rb_ary_entry(value, i), pack_extra(buffer, check_keys));
323
- free(name);
330
+ FREE_INTSTRING(name);
324
331
  }
325
332
 
326
333
  // write null byte and fill in length
data/ext/cbson/version.h CHANGED
@@ -14,4 +14,4 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- #define VERSION "1.2.1"
17
+ #define VERSION "1.2.2"
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bson_ext
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 27
5
+ prerelease:
5
6
  segments:
6
7
  - 1
7
8
  - 2
8
- - 1
9
- version: 1.2.1
9
+ - 2
10
+ version: 1.2.2
10
11
  platform: ruby
11
12
  authors:
12
13
  - Mike Dirolf
@@ -14,7 +15,7 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2011-02-10 00:00:00 -05:00
18
+ date: 2011-02-15 00:00:00 -05:00
18
19
  default_executable:
19
20
  dependencies: []
20
21
 
@@ -50,6 +51,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
50
51
  requirements:
51
52
  - - ">="
52
53
  - !ruby/object:Gem::Version
54
+ hash: 3
53
55
  segments:
54
56
  - 0
55
57
  version: "0"
@@ -58,13 +60,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
58
60
  requirements:
59
61
  - - ">="
60
62
  - !ruby/object:Gem::Version
63
+ hash: 3
61
64
  segments:
62
65
  - 0
63
66
  version: "0"
64
67
  requirements: []
65
68
 
66
69
  rubyforge_project:
67
- rubygems_version: 1.3.7
70
+ rubygems_version: 1.4.1
68
71
  signing_key:
69
72
  specification_version: 3
70
73
  summary: C extensions for Ruby BSON.