diff --git a/ChangeLog b/ChangeLog index 3f1128e956..e066c2eddd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sun May 22 18:59:27 2011 Hiroshi Nakamura + + * 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 * 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)));