openbsd-ports/devel/ruby-ncurses/patches/patch-form_wrap_c
jeremy 5a1de5c2d1 Bump after change to remove OpenBSD version from ruby SITEARCHDIR,
and use new MODRUBY_SITEDIR and MODRUBY_SITEARCHDIR variables in
PLIST.

Allow building on ruby 1.9 by using RARRAY_LEN() instead of
RARRAY()->len.

OK landry@, jcs@ for the bump and PLIST changes
2011-07-19 18:04:21 +00:00

40 lines
1.7 KiB
Plaintext

$OpenBSD: patch-form_wrap_c,v 1.1 2011/07/19 18:04:21 jeremy Exp $
--- form_wrap.c.orig Tue Jul 19 09:13:14 2011
+++ form_wrap.c Tue Jul 19 09:14:49 2011
@@ -394,7 +394,7 @@ static void reg_proc(void* owner, int hook, VALUE proc
*/
static VALUE rbncurs_m_new_form(VALUE dummy, VALUE rb_field_array)
{
- long n = RARRAY(rb_field_array)->len;
+ long n = RARRAY_LEN(rb_field_array);
/* Will ncurses free this array? If not, must do it after calling free_form(). */
FIELD** fields = ALLOC_N(FIELD*, (n+1));
long i;
@@ -618,7 +618,7 @@ static VALUE rbncurs_c_set_field_type(int argc, VALUE*
rb_raise(rb_eArgError, "TYPE_ENUM requires three additional arguments");
}
else {
- int n = RARRAY(arg3)->len;
+ int n = RARRAY_LEN(arg3);
/* Will ncurses free this array of strings in free_field()? */
char** list = ALLOC_N(char*, n+1);
int i;
@@ -777,7 +777,7 @@ static VALUE rbncurs_m_set_max_field(VALUE dummy, VALU
* form_field
*/
static VALUE rbncurs_c_set_form_fields(VALUE rb_form, VALUE rb_field_array) {
- long n = RARRAY(rb_field_array)->len;
+ long n = RARRAY_LEN(rb_field_array);
/* If ncurses does not free memory used by the previous array of strings, */
/* we will have to do it now. */
FIELD** fields = ALLOC_N(FIELD*, (n+1));
@@ -1125,7 +1125,7 @@ static void* make_arg(va_list* ap) {
VALUE argc = rb_funcall(proc, rb_intern("arity"),0);
VALUE args = get_proc(field, FIELDTYPE_ARGS);
if (args != Qnil) {
- if (NUM2INT(argc)-1 != RARRAY(args)->len) {
+ if (NUM2INT(argc)-1 != RARRAY_LEN(args)) {
char msg[500];
snprintf(msg, 500, "The validation functions for this field type need %d additional arguments.",NUM2INT(argc)-1);
msg[499]=0;