From f933f9d3a5e5d71bcebc5d0a3206149870c412e0 Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 27 Jul 2005 02:42:16 +0000 Subject: * gc.c (id2ref): must not assign pointers to long int. use LONG_LONG instead if SIZEOF_LONG < SIZEOF_VOIDP. [ruby-talk:149645] * ruby.h: use LONG_LONG to simplify the change. [ruby-talk:149645] * eval.c (rb_f_throw): replace all '0x%lx' by '%p'. [ruby-talk:149553] * missing/vsnprintf.c (BSD_vfprintf): '%p' need to handle 64bit size pointer. [ruby-talk:149553] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- missing/vsnprintf.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'missing') diff --git a/missing/vsnprintf.c b/missing/vsnprintf.c index e3362a91f9..d7d9e0be46 100644 --- a/missing/vsnprintf.c +++ b/missing/vsnprintf.c @@ -781,14 +781,19 @@ fp_begin: _double = va_arg(ap, double); * defined manner.'' * -- ANSI X3J11 */ +#ifdef _HAVE_LLP64_ + uqval = (u_long)va_arg(ap, void *); + flags = (flags) | QUADINT | HEXPREFIX; +#else ulval = (u_long)va_arg(ap, void *); - base = 16; - xdigs = "0123456789abcdef"; #ifdef _HAVE_SANE_QUAD_ flags = (flags & ~QUADINT) | HEXPREFIX; #else /* _HAVE_SANE_QUAD_ */ flags = (flags) | HEXPREFIX; #endif /* _HAVE_SANE_QUAD_ */ +#endif + base = 16; + xdigs = "0123456789abcdef"; ch = 'x'; goto nosign; case 's': -- cgit v1.2.3