bson_ext 1.11.1 → 1.12.0.rc0
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
- checksums.yaml.gz.sig +1 -1
- data.tar.gz.sig +2 -2
- data/VERSION +1 -1
- data/ext/cbson/cbson.c +16 -6
- data/ext/cbson/version.h +1 -1
- metadata +6 -6
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8ede4a862a8b13bc7743995f8985868dd0f2a453
|
4
|
+
data.tar.gz: 9764114e6d4949ac5c8210ace6a47f96f3830696
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ba2674d1f55fb5f6ba7596b68f8707cd085b0246fffbecd83c2d07b3b499f9d45567f38a89b53a45d513aef270f818d0c2880b91926d8fec5a007cd26f30b72
|
7
|
+
data.tar.gz: c3e067558e41f6027d5a9ded5aa9b53a4fdbcb799df80d3756651140348c050f02ee612b5a77d9298e9c06a0522ea4a26bfcc3b6133bf4009465fd12cf8852bf
|
checksums.yaml.gz.sig
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
V��ߴ�?��a�Sk����{=*�|PC�L�b���k��5K��NaC��rh�~�t�f�G�B6n%�u��sp�5L/��XuZ����3��Ζ�s�O�7���X/C��4��Jq0�B�%��ߌ<{�.]0x}��Q�(�B"Re� W�-���
|
data.tar.gz.sig
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
�̌^��u�ҜZ�6O�+NM�$��+��o�K�C��TЎ���P+U��v
|
2
|
+
Z�a ��C����ÁW��gXu
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.12.0.rc0
|
data/ext/cbson/cbson.c
CHANGED
@@ -151,8 +151,6 @@ static void write_utf8(bson_buffer_t buffer, VALUE string, int allow_null) {
|
|
151
151
|
#define EXTENDED RE_OPTION_EXTENDED
|
152
152
|
#endif
|
153
153
|
|
154
|
-
/* TODO we ought to check that the malloc or asprintf was successful
|
155
|
-
* and raise an exception if not. */
|
156
154
|
/* TODO maybe we can use something more portable like vsnprintf instead
|
157
155
|
* of this hack. And share it with the Python extension ;) */
|
158
156
|
/* If we don't have ASPRINTF, there are two possibilities:
|
@@ -164,6 +162,9 @@ static void write_utf8(bson_buffer_t buffer, VALUE string, int allow_null) {
|
|
164
162
|
{ \
|
165
163
|
int vslength = _scprintf("%d", i) + 1; \
|
166
164
|
*buffer = malloc(vslength); \
|
165
|
+
if (buffer == NULL) { \
|
166
|
+
rb_raise(rb_eNoMemError, "failed to allocate memory in INT2STRING"); \
|
167
|
+
} \
|
167
168
|
_snprintf(*buffer, vslength, "%d", i); \
|
168
169
|
}
|
169
170
|
#define FREE_INTSTRING(buffer) free(buffer)
|
@@ -171,13 +172,22 @@ static void write_utf8(bson_buffer_t buffer, VALUE string, int allow_null) {
|
|
171
172
|
#define INT2STRING(buffer, i) \
|
172
173
|
{ \
|
173
174
|
int vslength = snprintf(NULL, 0, "%d", i) + 1; \
|
174
|
-
*buffer = malloc(vslength);
|
175
|
-
|
175
|
+
*buffer = malloc(vslength); \
|
176
|
+
if (buffer == NULL) { \
|
177
|
+
rb_raise(rb_eNoMemError, "failed to allocate memory in INT2STRING"); \
|
178
|
+
} \
|
179
|
+
snprintf(*buffer, vslength, "%d", i); \
|
176
180
|
}
|
177
181
|
#define FREE_INTSTRING(buffer) free(buffer)
|
178
182
|
#endif
|
179
183
|
#else
|
180
|
-
#define INT2STRING(buffer, i)
|
184
|
+
#define INT2STRING(buffer, i) \
|
185
|
+
{ \
|
186
|
+
int length = asprintf(buffer, "%d", i); \
|
187
|
+
if (length == -1) { \
|
188
|
+
rb_raise(rb_eNoMemError, "failed to allocate memory in INT2STRING"); \
|
189
|
+
} \
|
190
|
+
}
|
181
191
|
#ifdef USING_SYSTEM_ALLOCATOR_LIBRARY /* Ruby Enterprise Edition with tcmalloc */
|
182
192
|
#define FREE_INTSTRING(buffer) system_free(buffer)
|
183
193
|
#else
|
@@ -974,7 +984,7 @@ static VALUE method_deserialize(VALUE self, VALUE bson, VALUE opts) {
|
|
974
984
|
struct deserialize_opts deserialize_opts;
|
975
985
|
|
976
986
|
deserialize_opts.compile_regex = 1;
|
977
|
-
if (rb_funcall(opts, rb_intern("has_key?"), 1, ID2SYM(rb_intern("compile_regex"))) == Qtrue &&
|
987
|
+
if (rb_funcall(opts, rb_intern("has_key?"), 1, ID2SYM(rb_intern("compile_regex"))) == Qtrue &&
|
978
988
|
rb_hash_aref(opts, ID2SYM(rb_intern("compile_regex"))) == Qfalse) {
|
979
989
|
deserialize_opts.compile_regex = 0;
|
980
990
|
}
|
data/ext/cbson/version.h
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bson_ext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.12.0.rc0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Emily Stolfo
|
@@ -34,7 +34,7 @@ cert_chain:
|
|
34
34
|
JrZM8w8wGbIOeLtoQqa7HB/jOYbTahH7KMNh2LHAbOR93hNIJxVRa4iwxiMQ75tN
|
35
35
|
9WUIAJ4AEtjwRg1Bz0OwDo3aucPCBpx77+/FWhv7JYY=
|
36
36
|
-----END CERTIFICATE-----
|
37
|
-
date: 2014-
|
37
|
+
date: 2014-11-18 00:00:00.000000000 Z
|
38
38
|
dependencies:
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: bson
|
@@ -42,14 +42,14 @@ dependencies:
|
|
42
42
|
requirements:
|
43
43
|
- - "~>"
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version: 1.
|
45
|
+
version: 1.12.0.rc0
|
46
46
|
type: :runtime
|
47
47
|
prerelease: false
|
48
48
|
version_requirements: !ruby/object:Gem::Requirement
|
49
49
|
requirements:
|
50
50
|
- - "~>"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: 1.
|
52
|
+
version: 1.12.0.rc0
|
53
53
|
description: C extensions to accelerate the Ruby BSON serialization. For more information
|
54
54
|
about BSON, see http://bsonspec.org. For information about MongoDB, see http://www.mongodb.org.
|
55
55
|
email: mongodb-dev@googlegroups.com
|
@@ -85,9 +85,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
85
85
|
version: '0'
|
86
86
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
|
-
- - "
|
88
|
+
- - ">"
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version:
|
90
|
+
version: 1.3.1
|
91
91
|
requirements: []
|
92
92
|
rubyforge_project: bson_ext
|
93
93
|
rubygems_version: 2.2.2
|
metadata.gz.sig
CHANGED
Binary file
|