From d113616d6b6424ce4a2389bbdf768affc2c3e048 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 15 Aug 2007 11:09:37 +0000 Subject: [PATCH] fix .zo output on 64-bit platform for fixnum constants that are 32-bit bignums svn: r7103 --- src/mzscheme/src/print.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/mzscheme/src/print.c b/src/mzscheme/src/print.c index de89234fdf..0cb6415086 100644 --- a/src/mzscheme/src/print.c +++ b/src/mzscheme/src/print.c @@ -1705,8 +1705,13 @@ print(Scheme_Object *obj, int notdisplay, int compact, Scheme_Hash_Table *ht, s[0] = (unsigned char)(v + CPT_SMALL_NUMBER_START); print_this_string(pp, (char *)s, 0, 1); } else { - print_compact(pp, CPT_INT); - print_compact_number(pp, v); + /* Make sure it's a fixnum on all platforms... */ + if ((v >= -1073741824) && (v <= 1073741824)) { + print_compact(pp, CPT_INT); + print_compact_number(pp, v); + } else { + print_escaped(pp, notdisplay, obj, ht, mt, 1); + } } } else { sprintf(quick_buffer, "%ld", SCHEME_INT_VAL(obj));