1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-12 06:41:13 +02:00

* tag.c (scm_tag): Base tag on vtable pointer.

This commit is contained in:
Mikael Djurfeldt 1999-06-23 11:19:25 +00:00
parent ad1965993e
commit ff2961ec2c

View file

@ -175,8 +175,7 @@ scm_tag (x)
case scm_tcs_cons_gloc: case scm_tcs_cons_gloc:
/* must be a struct */ /* must be a struct */
{ {
int tag; int tag = (int) SCM_STRUCT_VTABLE_DATA (x) >> 3;
tag = SCM_STRUCT_VTABLE_DATA (x)[scm_struct_i_tag];
return SCM_MAKINUM (SCM_INUM (SCM_CDR (scm_utag_struct_base)) return SCM_MAKINUM (SCM_INUM (SCM_CDR (scm_utag_struct_base))
| (tag << 8)); | (tag << 8));
} }