From: "R.. Kumar 1.9.1 OSX" Date: 2010-08-21T18:46:44+09:00 Subject: Re: 1.9.2 breaks ncurses (STR2CSTR) - pls help Christoph Kappel wrote: > ---- On Sat, 21 Aug 2010 08:17:32 +0200 R.. Kumar 1.9.1 OSX wrote ---- >>Someone told me that STR2CSTR has been removed. Could someone tell me >>what I should replace STR2CSTR with in the ncurses code, or what to do. >>I am not familiar with the Ruby-C interface, and would appreciate some >>pointers. > > Actually STR2CSTR was marked as obsolete in 1.8 and removed in 1.9.1. > > ruby.h: > > /* obsolete API - use StringValue() */ > char *rb_str2cstr _((VALUE,long*)); > /* obsolete API - use StringValuePtr() */ > #define STR2CSTR(x) rb_str2cstr((VALUE)(x),0) > > Basically just replace STR2CSTR by StringValuePtr or define this macro. > > Wbr > > Christoph I've tried various combinations. I either get runtime errors relating to rb_str2ctr or just make errors. 1. $ perl -p -i.b -e 's/STR2CSTR/StringValuePtr/g' *.c $ make form_wrap.c: In function ‘rbncurs_c_set_field_type’: form_wrap.c:626: error: lvalue required as unary ‘&’ operand form_wrap.c: In function ‘rbncurs_c_set_field_fore’: form_wrap.c:698: warning: implicit conversion shortens 64-bit value into a 32-bit value form_wrap.c: In function ‘rbncurs_c_set_field_back’: form_wrap.c:712: warning: implicit conversion shortens 64-bit value into a 32-bit value form_wrap.c: In function ‘make_arg’: form_wrap.c:1134: warning: format not a string literal and no format arguments make: *** [form_wrap.o] Error 1 -- Posted via http://www.ruby-forum.com/.