Nobuyoshi Nakada wrote:
> Hi,
> 
> At Sun, 17 Sep 2006 23:21:09 +0900,
> Bil Kleb wrote in [ruby-talk:214845]:
>>      if (rb_type((VALUE)(obj)) == 0x0e) {
>>          OpenFile *fptr;
>>          rb_io_check_closed((fptr) = ".rnd"(rb_io_taint_check(obj))->fptr);
> 
> This line has to be:
> 
>   rb_io_check_closed((fptr) = ((struct RFile*)(rb_io_taint_check(obj)))->fptr);
> 
> In ext/openssl/ossl.h:
>   /*
>   * OpenSSL has defined RFILE and Ruby has defined RFILE - so undef it!
>   */
>   #if defined(RFILE) /*&& !defined(OSSL_DEBUG)*/
>   #  undef RFILE
>   #endif
>   #include <ruby.h>
>   #include <rubyio.h>

I have this in my ossl.h too:

     20  /*
     21  * OpenSSL has defined RFILE and Ruby has defined RFILE - so undef it!
     22  */
     23  #if defined(RFILE) /*&& !defined(OSSL_DEBUG)*/
     24  #  undef RFILE
     25  #endif
     26  #include <ruby.h>
     27  #include <rubyio.h>

> RFILE seems redefined somewhere after here.

But I can't find another RFILE in /ext/openssl or below...

  $ cd /ext/openssl && grep -nr RFILE *
  ossl.h:21:* OpenSSL has defined RFILE and Ruby has defined RFILE - so undef it!
  ossl.h:23:#if defined(RFILE) /*&& !defined(OSSL_DEBUG)*/
  ossl.h:24:#  undef RFILE

Suggestions?

I tried removing the comment from the "#if defined" line
and just putting "#undef RFILE' with no apparent effect.

Thanks,
--
Bil Kleb
http://fun3d.larc.nasa.gov