summaryrefslogtreecommitdiff
path: root/libguile/struct.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-11-18 22:30:27 +0100
committerAndy Wingo <wingo@pobox.com>2010-11-19 15:22:43 +0100
commit3d27ef4bd312750f8edca81f09644eab21a3d8e0 (patch)
tree74f9b5a8c6419e5b2c14bd7df069e7b8c621fa62 /libguile/struct.c
parentf0c56cadfda6f8e9691d5e12cbd1778f36bfde2a (diff)
downloadguile-3d27ef4bd312750f8edca81f09644eab21a3d8e0.tar.gz
fix a number of assumptions that a pointer could fit into a long
* libguile/debug.c: * libguile/eval.c: * libguile/frames.c: * libguile/objcodes.c: * libguile/print.c: * libguile/programs.c: * libguile/read.c: * libguile/struct.c: * libguile/vm.c: Fix a number of instances in which we assumed we could fit a pointer into a long.
Diffstat (limited to 'libguile/struct.c')
-rw-r--r--libguile/struct.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libguile/struct.c b/libguile/struct.c
index c784f59bb..e5ecc1aaf 100644
--- a/libguile/struct.c
+++ b/libguile/struct.c
@@ -926,7 +926,8 @@ SCM_DEFINE (scm_struct_vtable_tag, "struct-vtable-tag", 1, 0, 0,
#define FUNC_NAME s_scm_struct_vtable_tag
{
SCM_VALIDATE_VTABLE (1, handle);
- return scm_from_ulong (((unsigned long)SCM_STRUCT_DATA (handle)) >> 3);
+ return scm_from_unsigned_integer
+ (((scm_t_bits)SCM_STRUCT_DATA (handle)) >> 3);
}
#undef FUNC_NAME