oj 3.3.0 → 3.3.1

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: 1373424e4c2fd32c52eaea6561ddfff276babeb5
4
- data.tar.gz: e35e9cd9d69496cc46838dcdf3da63a46908a657
3
+ metadata.gz: 63050f31bc0315726a788659128470304b169f26
4
+ data.tar.gz: fd104a575acd6334e08bf3575da67398a23cd40d
5
5
  SHA512:
6
- metadata.gz: 19cc74647936b9ca942b3e88fea44f93efd7d3bb6d703fca5c53ed7a3cefd3f12e0c48f32d71fdc2a264d68ad6dd2662edffddcee046ab3b65d5b1354487116b
7
- data.tar.gz: 90ce6b08d284b3cded6aba7b946ce794751a1b85f6e5ff0f1e37337679263cf88641949f3fe5898a22db89bf5d71d9b7c36322de37a11ef31bf275965d69d364
6
+ metadata.gz: dd48c5c1a681efcc47684534d51ca3c4010c4b81ea815dd6d329e90237f422d852449058435132a752ebfea2ae7f77d64deed92df3a06e45c5bbe6c6dfe83f17
7
+ data.tar.gz: a0c15d440afc5243414d9e29657778b774647ef22d140a56649dff3f48af725be0992c8fb9251bac96d915203b919b27d118a702d0415837445180536a2ecb06
@@ -532,7 +532,11 @@ dump_attr_cb(ID key, VALUE value, Out out) {
532
532
  }
533
533
  size = depth * out->indent + 1;
534
534
  attr = rb_id2name(key);
535
-
535
+ // Some exceptions such as NoMethodError have an invisible attribute where
536
+ // the key name is NULL. Not an empty string but NULL.
537
+ if (NULL == attr) {
538
+ attr = "";
539
+ }
536
540
  #if HAS_EXCEPTION_MAGIC
537
541
  if (0 == strcmp("bt", attr) || 0 == strcmp("mesg", attr)) {
538
542
  return ST_CONTINUE;
@@ -648,7 +652,7 @@ static void
648
652
  dump_obj(VALUE obj, int depth, Out out, bool as_ok) {
649
653
  long id = oj_check_circular(obj, out);
650
654
  VALUE clas;
651
-
655
+
652
656
  if (0 > id) {
653
657
  oj_dump_nil(Qnil, depth, out, false);
654
658
  } else if (Qnil != (clas = dump_common(obj, depth, out))) {
@@ -861,7 +865,7 @@ static DumpFunc custom_funcs[] = {
861
865
  void
862
866
  oj_dump_custom_val(VALUE obj, int depth, Out out, bool as_ok) {
863
867
  int type = rb_type(obj);
864
-
868
+
865
869
  if (MAX_DEPTH < depth) {
866
870
  rb_raise(rb_eNoMemError, "Too deeply nested.\n");
867
871
  }
@@ -352,6 +352,11 @@ dump_attr_cb(ID key, VALUE value, Out out) {
352
352
  if (out->omit_nil && Qnil == value) {
353
353
  return ST_CONTINUE;
354
354
  }
355
+ // Some exceptions such as NoMethodError have an invisible attribute where
356
+ // the key name is NULL. Not an empty string but NULL.
357
+ if (NULL == attr) {
358
+ attr = "";
359
+ }
355
360
  #if HAS_EXCEPTION_MAGIC
356
361
  if (0 == strcmp("bt", attr) || 0 == strcmp("mesg", attr)) {
357
362
  return ST_CONTINUE;
@@ -90,6 +90,11 @@ dump_attr_cb(ID key, VALUE value, Out out) {
90
90
  size_t size = depth * out->indent + 1;
91
91
  const char *attr = rb_id2name(key);
92
92
 
93
+ // Some exceptions such as NoMethodError have an invisible attribute where
94
+ // the key name is NULL. Not an empty string but NULL.
95
+ if (NULL == attr) {
96
+ attr = "";
97
+ }
93
98
  #if HAS_EXCEPTION_MAGIC
94
99
  if (0 == strcmp("bt", attr) || 0 == strcmp("mesg", attr)) {
95
100
  return ST_CONTINUE;
@@ -1,5 +1,5 @@
1
1
 
2
2
  module Oj
3
3
  # Current version of the module.
4
- VERSION = '3.3.0'
4
+ VERSION = '3.3.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oj
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Ohler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-05 00:00:00.000000000 Z
11
+ date: 2017-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler