diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/openssl/ossl_asn1.c | 14 |
2 files changed, 13 insertions, 6 deletions
@@ -1,3 +1,8 @@ +Sun May 22 18:59:27 2011 Hiroshi Nakamura <nahi@ruby-lang.org> + + * ext/openssl/ossl_asn1.c(ossl_asn1_default_tag): avoid using RCLASS_SUPER + to make it compilable. Plus, tabify and change variable definition style. + Sun May 22 18:26:43 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> * gc.c (vm_xcalloc): use calloc provided by platforms. diff --git a/ext/openssl/ossl_asn1.c b/ext/openssl/ossl_asn1.c index 5ad1ffb0e0..63e4dd8399 100644 --- a/ext/openssl/ossl_asn1.c +++ b/ext/openssl/ossl_asn1.c @@ -572,13 +572,15 @@ ossl_asn1_get_asn1type(VALUE obj) static int ossl_asn1_default_tag(VALUE obj) { - VALUE tmp_class = CLASS_OF(obj); + VALUE tmp_class, tag; + + tmp_class = CLASS_OF(obj); while (tmp_class) { - VALUE tag = rb_hash_lookup(class_tag_map, tmp_class); - if (tag != Qnil) { - return NUM2INT(tag); - } - tmp_class = RCLASS_SUPER(tmp_class); + tag = rb_hash_lookup(class_tag_map, tmp_class); + if (tag != Qnil) { + return NUM2INT(tag); + } + tmp_class = rb_class_superclass(tmp_class); } ossl_raise(eASN1Error, "universal tag for %s not found", rb_class2name(CLASS_OF(obj))); |