[Win32utils-devel] 1.9.x compatibility for win32-api

Luis Lavena luislavena at gmail.com
Wed Feb 18 14:43:53 EST 2009

On Wed, Feb 18, 2009 at 5:17 PM, Berger, Daniel <Daniel.Berger at qwest.com> wrote:
> [...]
> I'm a little stuck at the moment, as it appears 1.9.x has separate macros for RARRAY(ptr) vs RARRAY(ptr)->[index]. Anyone happen to know what it is?
> Anyway, this is what I've got so far. If anyone can fill in the "???" for me that would be swell.
> // Ruby 1.9.x
> #ifndef RSTRING_PTR
> #define RSTRING_PTR(s) (RSTRING(s)->ptr)
> #endif
> #ifndef RSTRING_LEN
> #define RSTRING_LEN(s) (RSTRING(s)->len)
> #endif
> #ifndef RARRAY_PTR
> #define RARRAY_PTR(a) (RARRAY(a)->ptr)
> #define RARRAY_?????? (RARRAY(a)->ptr[i])
> #endif
> #ifndef RARRAY_LEN
> #define RARRAY_LEN(a) (RARRAY(a)->len)
> #endif

This ticket has a good example:



Only RARRAY_PTR(a) needs to get defined, since the index from the
array will work out of the box in both cases.

Did that help?

Luis Lavena
Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupéry

More information about the win32utils-devel mailing list