[BACK]Return to patch-ab CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / devel / ruby-ncurses / patches

File: [cvs.NetBSD.org] / pkgsrc / devel / ruby-ncurses / patches / patch-ab (download)

Revision 1.2, Thu Dec 12 22:54:36 2013 UTC (9 years, 11 months ago) by jperkin
Branch: MAIN
CVS Tags: pkgsrc-2023Q3-base, pkgsrc-2023Q3, pkgsrc-2023Q2-base, pkgsrc-2023Q2, pkgsrc-2023Q1-base, pkgsrc-2023Q1, pkgsrc-2022Q4-base, pkgsrc-2022Q4, pkgsrc-2022Q3-base, pkgsrc-2022Q3, pkgsrc-2022Q2-base, pkgsrc-2022Q2, pkgsrc-2022Q1-base, pkgsrc-2022Q1, pkgsrc-2021Q4-base, pkgsrc-2021Q4, pkgsrc-2021Q3-base, pkgsrc-2021Q3, pkgsrc-2021Q2-base, pkgsrc-2021Q2, pkgsrc-2021Q1-base, pkgsrc-2021Q1, pkgsrc-2020Q4-base, pkgsrc-2020Q4, pkgsrc-2020Q3-base, pkgsrc-2020Q3, pkgsrc-2020Q2-base, pkgsrc-2020Q2, pkgsrc-2020Q1-base, pkgsrc-2020Q1, pkgsrc-2019Q4-base, pkgsrc-2019Q4, pkgsrc-2019Q3-base, pkgsrc-2019Q3, pkgsrc-2019Q2-base, pkgsrc-2019Q2, pkgsrc-2019Q1-base, pkgsrc-2019Q1, pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3, pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1, pkgsrc-2017Q4-base, pkgsrc-2017Q4, pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1, pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3, pkgsrc-2016Q2-base, pkgsrc-2016Q2, pkgsrc-2016Q1-base, pkgsrc-2016Q1, pkgsrc-2015Q4-base, pkgsrc-2015Q4, pkgsrc-2015Q3-base, pkgsrc-2015Q3, pkgsrc-2015Q2-base, pkgsrc-2015Q2, pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4, pkgsrc-2014Q3-base, pkgsrc-2014Q3, pkgsrc-2014Q2-base, pkgsrc-2014Q2, pkgsrc-2014Q1-base, pkgsrc-2014Q1, pkgsrc-2013Q4-base, pkgsrc-2013Q4, HEAD
Changes since 1.1: +24 -4 lines

SunOS libform does not have TYPE_IPV4, disable it.

$NetBSD: patch-ab,v 1.2 2013/12/12 22:54:36 jperkin Exp $

Disable TYPE_IPV4 on SunOS.

--- form_wrap.c.orig	2009-07-31 10:52:36.000000000 +0000
+++ form_wrap.c
@@ -618,12 +618,14 @@ static VALUE rbncurs_c_set_field_type(in
 		rb_raise(rb_eArgError, "TYPE_ENUM requires three additional arguments");
 	 }
     else {
+		VALUE v;
 		int n = rbncurs_array_length(arg3);
 		/*  Will ncurses free this array of strings in free_field()? */
 		char** list = ALLOC_N(char*, n+1);
 		int i;
 		for (i = 0; i < n; i++) {
-		  list[i] = STR2CSTR(rb_ary_entry(arg3, (long)i));
+		  v = rb_ary_entry(arg3, (long)i);
+		  list[i] = StringValuePtr(v);
 		}
 		list[n] = NULL;
 		return INT2NUM(set_field_type(field, ftype, 
@@ -652,13 +654,15 @@ static VALUE rbncurs_c_set_field_type(in
 	 if (argc != 2)
 		rb_raise(rb_eArgError, "TYPE_REGEXP requires one additional argument");
 	 return INT2NUM(set_field_type(field, ftype, 
-											 STR2CSTR(arg3)));
+											 StringValue(arg3)));
   }
+#ifndef __sun
   else if (ftype == TYPE_IPV4){	
 	 if (argc != 1)
 		rb_raise(rb_eArgError, "TYPE_IPV4 has no additional arguments");
 	 return INT2NUM(set_field_type(field, ftype));
   }
+#endif
   else {	
 	 /*  It is a user-defined field type. */
 	 /*  Will store the arguments associated with this field */
@@ -740,7 +744,7 @@ static VALUE rbncurs_m_field_pad(VALUE d
  */
 static VALUE rbncurs_c_set_field_buffer(VALUE rb_field, VALUE buf, VALUE value) {
   FIELD* field = get_field(rb_field);
-  return INT2NUM(set_field_buffer(field, NUM2INT(buf), STR2CSTR(value)));
+  return INT2NUM(set_field_buffer(field, NUM2INT(buf), StringValuePtr(value)));
 }
 static VALUE rbncurs_m_set_field_buffer(VALUE dummy, VALUE rb_field, VALUE buf, VALUE value)
 { return rbncurs_c_set_field_buffer(rb_field, buf, value); }
@@ -1044,13 +1048,15 @@ static VALUE rbncurs_m_form_opts(VALUE d
  * form_requestname
  */
 static VALUE rbncurs_c_form_request_name(VALUE request) {
-  return rb_str_new2(form_request_name(NUM2INT(request)));
+  const char *s;
+  s = form_request_name(NUM2INT(request));
+  return rb_str_new2(s);
 }
 static VALUE rbncurs_m_form_request_name(VALUE dummy, VALUE request)
 { return rbncurs_c_form_request_name(request); }
 
 static VALUE rbncurs_c_form_request_by_name(VALUE name) {
-  return INT2NUM(form_request_by_name(STR2CSTR(name)));
+  return INT2NUM(form_request_by_name(StringValuePtr(name)));
 }
 static VALUE rbncurs_m_form_request_by_name(VALUE dummy, VALUE name)
 { return rbncurs_c_form_request_by_name(name); }
@@ -1442,7 +1448,9 @@ void init_form(void)
   rb_define_const(mForm, "TYPE_INTEGER", wrap_fieldtype(TYPE_INTEGER));
   rb_define_const(mForm, "TYPE_NUMERIC", wrap_fieldtype(TYPE_NUMERIC));
   rb_define_const(mForm, "TYPE_REGEXP", wrap_fieldtype(TYPE_REGEXP));
+#ifndef __sun
   rb_define_const(mForm, "TYPE_IPV4", wrap_fieldtype(TYPE_IPV4));
+#endif
 
 }