ruby-changes:7133
From: nobu <ko1@a...>
Date: Sat, 16 Aug 2008 08:53:25 +0900 (JST)
Subject: [ruby-changes:7133] Ruby:r18651 (trunk): * include/ruby/ruby.h (SSIZET2NUM, NUM2SSIZET, SSIZE_MAX, SSIZE_MIN):
nobu 2008-08-16 08:53:07 +0900 (Sat, 16 Aug 2008) New Revision: 18651 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18651 Log: * include/ruby/ruby.h (SSIZET2NUM, NUM2SSIZET, SSIZE_MAX, SSIZE_MIN): macros for ssize_t. Modified files: trunk/ChangeLog trunk/include/ruby/ruby.h Index: include/ruby/ruby.h =================================================================== --- include/ruby/ruby.h (revision 18650) +++ include/ruby/ruby.h (revision 18651) @@ -210,12 +210,30 @@ #if SIZEOF_SIZE_T > SIZEOF_LONG && defined(HAVE_LONG_LONG) # define SIZET2NUM(v) ULL2NUM(v) +# define SSIZET2NUM(v) LL2NUM(v) #elif SIZEOF_SIZE_T == SIZEOF_LONG # define SIZET2NUM(v) ULONG2NUM(v) +# define SSIZET2NUM(v) LONG2NUM(v) #else # define SIZET2NUM(v) UINT2NUM(v) +# define SSIZET2NUM(v) INT2NUM(v) #endif +#ifndef SSIZE_MAX +# if SIZEOF_SIZE_T > SIZEOF_LONG && defined(HAVE_LONG_LONG) +# define SSIZE_MAX LLONG_MAX +# define SSIZE_MIN LLONG_MIN +# elif SIZEOF_SIZE_T == SIZEOF_LONG +# define SSIZE_MAX LONG_MAX +# define SSIZE_MIN LONG_MIN +# elif SIZEOF_SIZE_T == SIZEOF_INT +# define SSIZE_MAX INT_MAX +# define SSIZE_MIN INT_MIN +# else +# define SSIZE_MAX SHRT_MAX +# define SSIZE_MIN SHRT_MIN +#endif + #ifndef PIDT2NUM #define PIDT2NUM(v) LONG2NUM(v) #endif @@ -411,8 +429,10 @@ #if defined(HAVE_LONG_LONG) && SIZEOF_SIZE_T > SIZEOF_LONG # define NUM2SIZET(x) ((size_t)NUM2ULL(x)) +# define NUM2SSIZET(x) ((size_t)NUM2LL(x)) #else # define NUM2SIZET(x) NUM2ULONG(x) +# define NUM2SSIZET(x) NUM2LONG(x) #endif double rb_num2dbl(VALUE); Index: ChangeLog =================================================================== --- ChangeLog (revision 18650) +++ ChangeLog (revision 18651) @@ -1,3 +1,8 @@ +Sat Aug 16 08:52:55 2008 Nobuyoshi Nakada <nobu@r...> + + * include/ruby/ruby.h (SSIZET2NUM, NUM2SSIZET, SSIZE_MAX, SSIZE_MIN): + macros for ssize_t. + Sat Aug 16 08:11:04 2008 Tanaka Akira <akr@f...> * transcode_data.h (rb_transcoder_stateful_type_t): defined. -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/