ext/oj/load.c in oj-1.2.4 vs ext/oj/load.c in oj-1.2.5
- old
+ new
@@ -473,11 +473,11 @@
rb_hash_aset(obj, rb_str_intern(key), val);
} else {
rb_hash_aset(obj, key, val);
}
if ((CompatMode == mode || ObjectMode == mode) &&
- 0 == json_class_name &&
- 0 != ks && 'j' == *ks && 0 == strcmp("json_class", ks) &&
+ 0 == json_class_name && 0 != ks &&
+ 0 != pi->options->create_id && *pi->options->create_id == *ks && 0 == strcmp(pi->options->create_id, ks) &&
T_STRING == rb_type(val)) {
json_class_name = StringValuePtr(val);
}
} else {
raise_error("invalid Object format, too many Hash entries.", pi->str, pi->s);