packages: ruby-rbogl/ruby-rbogl-ruby1.9.patch (NEW) - fix building with rub...

baggins baggins at pld-linux.org
Tue Mar 2 13:13:12 CET 2010


Author: baggins                      Date: Tue Mar  2 12:13:12 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- fix building with ruby 1.9

---- Files affected:
packages/ruby-rbogl:
   ruby-rbogl-ruby1.9.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/ruby-rbogl/ruby-rbogl-ruby1.9.patch
diff -u /dev/null packages/ruby-rbogl/ruby-rbogl-ruby1.9.patch:1.1
--- /dev/null	Tue Mar  2 13:13:12 2010
+++ packages/ruby-rbogl/ruby-rbogl-ruby1.9.patch	Tue Mar  2 13:13:07 2010
@@ -0,0 +1,690 @@
+--- opengl-0.32g/glut.c~	2005-08-26 18:04:19.000000000 +0200
++++ opengl-0.32g/glut.c	2010-03-02 12:47:20.979136002 +0100
+@@ -50,7 +50,7 @@
+     int argcp = 1;
+     if (TYPE(arg1) != T_STRING)
+ 	rb_raise(rb_eTypeError, "GLUT.Init:%s", rb_class2name(CLASS_OF(arg1)));
+-    glutInit(&argcp, (char**)&(RSTRING(arg1)->ptr));
++    glutInit(&argcp, (char**)&(RSTRING_PTR(arg1)));
+ #endif
+     int largc;
+     char** largv;
+@@ -63,18 +63,18 @@
+         arg1 = rb_eval_string("ARGV");
+     }
+     Check_Type(arg1, T_ARRAY);
+-    largc = RARRAY(arg1)->len+1;
++    largc = RARRAY_LEN(arg1)+1;
+     largv = ALLOCA_N(char*, largc+2);
+     largv[0] = STR2CSTR(rb_eval_string("$0"));
+     for (i = 1; i < largc; i++) {
+-        largv[i] = STR2CSTR(RARRAY(arg1)->ptr[i-1]);
++        largv[i] = STR2CSTR(RARRAY_PTR(arg1)[i-1]);
+     }
+     largv[i] = NULL;
+     glutInit(&largc, largv);
+     new_argv = rb_ary_new2(largc-1);
+     g_arg_array = rb_ary_new();
+-    for (i = 0; i < RARRAY(arg1)->len; i++) {
+-        ptr = RARRAY(arg1)->ptr[i];
++    for (i = 0; i < RARRAY_LEN(arg1); i++) {
++        ptr = RARRAY_PTR(arg1)[i];
+         find = 0;
+         for (j = 1; largv[j]; j++) {
+             if (STR2CSTR(ptr) == largv[j]) {
+@@ -107,7 +107,7 @@
+ {
+     if (TYPE(arg1) != T_STRING)
+ 	rb_raise(rb_eTypeError, "GLUT.InitDisplay:%s",rb_class2name(CLASS_OF(arg1)));
+-    glutInitDisplayString(RSTRING(arg1)->ptr);
++    glutInitDisplayString(RSTRING_PTR(arg1));
+     return Qnil;
+ }
+ #endif
+@@ -183,7 +183,7 @@
+         title = rb_eval_string("$0");
+     if (TYPE(title) != T_STRING)
+ 	rb_raise(rb_eTypeError, "GLUT.CreateWindow:%s", rb_class2name(CLASS_OF(title)));
+-    ret = glutCreateWindow(RSTRING(title)->ptr);
++    ret = glutCreateWindow(RSTRING_PTR(title));
+ 
+     /* setup callback */
+ /*
+@@ -275,7 +275,7 @@
+ {
+     if (TYPE(arg1) != T_STRING)
+ 	rb_raise(rb_eTypeError, "GLUT.SetWindowTitle:%s", rb_class2name(CLASS_OF(arg1)));
+-    glutSetWindowTitle(RSTRING(arg1)->ptr);
++    glutSetWindowTitle(RSTRING_PTR(arg1));
+     return Qnil;
+ }
+ 
+@@ -285,7 +285,7 @@
+ {
+     if (TYPE(arg1) != T_STRING)
+ 	rb_raise(rb_eTypeError, "GLUT.IconTitle:%s", rb_class2name(CLASS_OF(arg1)));
+-    glutSetIconTitle(RSTRING(arg1)->ptr);
++    glutSetIconTitle(RSTRING_PTR(arg1));
+     return Qnil;
+ }
+ 
+@@ -513,7 +513,7 @@
+     rb_ary_store(arg_pair, 0, INT2FIX(curmenuid));
+     rb_ary_store(arg_pair, 1, arg2);
+     rb_ary_push(arg_ary, arg_pair);
+-    glutAddMenuEntry(RSTRING(arg1)->ptr, arg_pair);
++    glutAddMenuEntry(RSTRING_PTR(arg1), arg_pair);
+     return Qnil;
+ }
+ 
+@@ -525,7 +525,7 @@
+     if (TYPE(arg1) != T_STRING) rb_raise(rb_eTypeError, "GLUT.AddSubMenu:%s",
+               rb_class2name(CLASS_OF(arg1)));
+     value = NUM2INT(arg2);
+-    glutAddSubMenu(RSTRING(arg1)->ptr, value);
++    glutAddSubMenu(RSTRING_PTR(arg1), value);
+     return Qnil;
+ }
+ 
+@@ -549,7 +549,7 @@
+     rb_ary_store(arg_pair, 0, INT2FIX(curmenuid));
+     rb_ary_store(arg_pair, 1, arg2);
+     rb_ary_store(arg_ary, item, arg_pair);
+-    glutChangeToMenuEntry(item, RSTRING(arg2)->ptr, arg_pair);
++    glutChangeToMenuEntry(item, RSTRING_PTR(arg2), arg_pair);
+     return Qnil;
+ }
+ 
+@@ -562,7 +562,7 @@
+     submenu = NUM2INT(arg3);
+     if (TYPE(arg2) != T_STRING) rb_raise(rb_eTypeError, "GLUT.ChangeToSubMenu:%s",
+               rb_class2name(CLASS_OF(arg1)));
+-    glutChangeToSubMenu(item, RSTRING(arg2)->ptr, submenu);
++    glutChangeToSubMenu(item, RSTRING_PTR(arg2), submenu);
+     return Qnil;
+ }
+ 
+@@ -915,7 +915,7 @@
+     int ret;
+     if (TYPE(arg1) != T_STRING) rb_raise(rb_eTypeError, "glutExtensionSupported:%s",
+               rb_class2name(CLASS_OF(arg1)));
+-    ret = glutExtensionSupported(RSTRING(arg1)->ptr);
++    ret = glutExtensionSupported(RSTRING_PTR(arg1));
+     return INT2NUM(ret);
+ }
+ #endif
+@@ -997,7 +997,7 @@
+     if (TYPE(arg2) != T_STRING) rb_raise(rb_eTypeError, "glutBitmapLength:%s",
+               rb_class2name(CLASS_OF(arg2)));
+     font = NUM2INT(arg1);
+-    ret = glutBitmapLength((void *)font, (const unsigned char*)RSTRING(arg2)->ptr);
++    ret = glutBitmapLength((void *)font, (const unsigned char*)RSTRING_PTR(arg2));
+     return INT2NUM(ret);
+ }
+ static VALUE
+@@ -1009,7 +1009,7 @@
+     if (TYPE(arg2) != T_STRING) rb_raise(rb_eTypeError, "glutStrokeLength:%s",
+               rb_class2name(CLASS_OF(arg2)));
+     font = NUM2INT(arg1);
+-    ret = glutStrokeLength((void *)font, (const unsigned char*)RSTRING(arg2)->ptr);
++    ret = glutStrokeLength((void *)font, (const unsigned char*)RSTRING_PTR(arg2));
+     return INT2NUM(ret);
+ }
+ #endif
+--- opengl-0.32g/glu.c.orig	2010-03-02 12:53:00.376316200 +0100
++++ opengl-0.32g/glu.c	2010-03-02 12:54:46.063187428 +0100
+@@ -211,16 +211,16 @@
+ 
+     switch (rb_scan_args(argc, argv, "43", &args[0], &args[1], &args[2], &args[3], &args[4], &args[5], &args[6])) {
+         case 3:
+-	    uknot_count = RARRAY(rb_Array(args[1]))->len;
++	    uknot_count = RARRAY_LEN(rb_Array(args[1]));
+ 	    uknot = ALLOC_N(GLfloat, uknot_count);
+ 	    ary2cflt(args[1], uknot, uknot_count);
+ 	    ary_ctl1 = RARRAY(rb_Array(args[2]));
+ 	    type = (GLenum)NUM2INT(args[3]);
+ 	    u_stride = get_curve_dim(type);
+-	    uorder = ary_ctl1->len;
++	    uorder = RARRAY_LEN(ary_ctl1);
+ 	    ctlarray = ALLOC_N(GLfloat, u_stride*uorder);
+-	    for (i = 0; i < ary_ctl1->len; i++) {
+-		ary2cflt(ary_ctl1->ptr[i], tmp, 4);
++	    for (i = 0; i < RARRAY_LEN(ary_ctl1); i++) {
++		ary2cflt(RARRAY_PTR(ary_ctl1)[i], tmp, 4);
+ 		memcpy(&ctlarray[i*u_stride], tmp, u_stride);
+ 	    }
+ 	    break;
+@@ -234,9 +234,9 @@
+             /* ctlarray = ALLOC_N(GLfloat, u_stride*uorder); //--->Mathematically incorrect */
+             ctlarray = ALLOC_N(GLfloat, u_stride*(uknot_count-uorder));
+ 	    ary_ctl1 = RARRAY(rb_Array(args[4]));
+-	    if (TYPE(ary_ctl1->ptr[0]) == T_ARRAY)
+-		for (i = 0; i < ary_ctl1->len; i++) {
+-		    ary2cflt(ary_ctl1->ptr[i], tmp, 4);
++	    if (TYPE(RARRAY_PTR(ary_ctl1)[0]) == T_ARRAY)
++		for (i = 0; i < RARRAY_LEN(ary_ctl1); i++) {
++		    ary2cflt(RARRAY_PTR(ary_ctl1)[i], tmp, 4);
+ 		    memcpy(&ctlarray[i*u_stride], tmp, u_stride);
+ 	    	}
+ 	    else {
+@@ -313,15 +313,15 @@
+ 
+     switch (rb_scan_args(argc, argv, "56", &args[0], &args[1], &args[2], &args[3], &args[4], &args[5], &args[6], &args[7], &args[8], &args[9], &args[10])) {
+ 	case 5:
+-	    sknot_count = RARRAY(rb_Array(args[1]))->len;
++	    sknot_count = RARRAY_LEN(rb_Array(args[1]));
+ 	    sknot = ALLOC_N(GLfloat, sknot_count);
+ 	    ary2cflt(args[1], sknot, sknot_count);
+-	    tknot_count = RARRAY(rb_Array(args[2]))->len;
++	    tknot_count = RARRAY_LEN(rb_Array(args[2]));
+ 	    tknot = ALLOC_N(GLfloat, tknot_count);
+ 	    ary2cflt(args[2], tknot, tknot_count);
+ 	    ary_ctl1 = RARRAY(rb_Array(args[3]));
+-	    sorder = ary_ctl1->len;
+-	    torder = RARRAY(rb_Array(ary_ctl1->ptr[0]))->len;
++	    sorder = RARRAY_LEN(ary_ctl1);
++	    torder = RARRAY_LEN(rb_Array(RARRAY_PTR(ary_ctl1)[0]));
+ 	    type = (GLenum)NUM2INT(args[4]);
+ 	    t_stride = get_surface_dim(type);
+ 	    s_stride = t_stride * sorder;
+@@ -345,7 +345,7 @@
+             /* ctlarray = ALLOC_N(GLfloat, sorder*torder*type_len); //--->Mathematically incorrect */
+             ctlarray = ALLOC_N(GLfloat, (sknot_count-sorder)*(tknot_count-torder)*type_len);
+ 	    ary_ctl1 = RARRAY(rb_Array(args[7]));
+-	    if (TYPE(ary_ctl1->ptr[0]) == T_ARRAY) {
++	    if (TYPE(RARRAY_PTR(ary_ctl1)[0]) == T_ARRAY) {
+ 		work_ary = rb_ary_new();
+ 		mary2ary((VALUE)ary_ctl1, work_ary);
+                 /* ary2cflt(work_ary, ctlarray, sorder*torder*type_len); //--->Mathematically incorrect */
+@@ -416,12 +416,12 @@
+     switch (rb_scan_args(argc, argv, "32", &args[0], &args[1], &args[2], &args[3], &args[4])) {
+ 	case 3:
+ 	    ary_ctl1 = RARRAY(rb_Array(args[2]));
+-	    count = ary_ctl1->len;
++	    count = RARRAY_LEN(ary_ctl1);
+ 	    type = NUM2INT(args[2]);
+ 	    stride = (type == GLU_MAP1_TRIM_2 ? 2 : 3);
+ 	    array = ALLOC_N(GLfloat, count*stride);
+-	    for (i = 0; i < ary_ctl1->len; i++) {
+-		ary2cflt(ary_ctl1->ptr[i], tmp, 3);
++	    for (i = 0; i < RARRAY_LEN(ary_ctl1); i++) {
++		ary2cflt(RARRAY_PTR(ary_ctl1)[i], tmp, 3);
+ 		memcpy(&array[i*stride], tmp, stride);
+ 	    }
+ 	    break;
+@@ -431,9 +431,9 @@
+ 	    type = NUM2INT(args[4]);
+ 	    array = ALLOC_N(GLfloat, count*stride);
+ 	    ary_ctl1 = RARRAY(rb_Array(args[2]));
+-	    if (TYPE(ary_ctl1->ptr[0]) == T_ARRAY)
+-		for (i = 0; i < ary_ctl1->len; i++) {
+-		    ary2cflt(ary_ctl1->ptr[i], tmp, 3);
++	    if (TYPE(RARRAY_PTR(ary_ctl1)[0]) == T_ARRAY)
++		for (i = 0; i < RARRAY_LEN(ary_ctl1); i++) {
++		    ary2cflt(RARRAY_PTR(ary_ctl1)[i], tmp, 3);
+ 		    memcpy(&array[i*stride], tmp, stride);
+ 	    	}
+ 	    else
+@@ -1312,9 +1312,9 @@
+         if (type_size == -1 || format_size == -1)
+             return Qnil;
+         size = type_size*format_size*height*width;
+-        if (RSTRING(arg7)->len < size)
+-            rb_raise(rb_eArgError, "string length:%d",RSTRING(arg7)->len);
+-        data = RSTRING(arg7)->ptr;
++        if (RSTRING_LEN(arg7) < size)
++            rb_raise(rb_eArgError, "string length:%d",RSTRING_LEN(arg7));
++        data = RSTRING_PTR(arg7);
+     } else 
+         rb_raise(rb_eTypeError, "type mismatch:%s",rb_class2name(arg7));
+     return INT2NUM(gluBuild2DMipmaps(target, components, width, height, format, type, data));
+@@ -1347,9 +1347,9 @@
+         if (type_size == -1 || format_size == -1)
+             return Qnil;
+         size = type_size*format_size*heightin*widthin;
+-        if (RSTRING(arg5)->len < size)
+-            rb_raise(rb_eArgError, "string length:%d",RSTRING(arg5)->len);
+-        datain = RSTRING(arg5)->ptr;
++        if (RSTRING_LEN(arg5) < size)
++            rb_raise(rb_eArgError, "string length:%d",RSTRING_LEN(arg5));
++        datain = RSTRING_PTR(arg5);
+     } else 
+         rb_raise(rb_eTypeError, "type mismatch:%s",rb_class2name(arg5));
+ 
+@@ -1359,7 +1359,7 @@
+     type_size = gltype_size(typeout) / 8;
+     ret = allocate_buffer_with_string(widthout*heightout*format_size*type_size);
+     gluScaleImage(format, widthin, heightin, typein, datain,
+-		widthout, heightout, typeout, (GLvoid*)RSTRING(ret)->ptr);
++		widthout, heightout, typeout, (GLvoid*)RSTRING_PTR(ret));
+     return ret;
+ }
+ 
+--- opengl-0.32g/ogl.c~	2005-08-26 18:04:19.000000000 +0200
++++ opengl-0.32g/ogl.c	2010-03-02 13:04:53.091187313 +0100
+@@ -182,13 +182,13 @@
+     memset(mask, 0x0, sizeof(GLubyte[128]));
+     if (TYPE(arg1) == T_ARRAY) {
+         ary = RARRAY(arg1);
+-	for(i = 0; i < ary->len && i < 128; i++)
+-	    mask[i] = (GLubyte)NUM2INT(ary->ptr[i]);
++	for(i = 0; i < RARRAY_LEN(ary) && i < 128; i++)
++	    mask[i] = (GLubyte)NUM2INT(RARRAY_PTR(ary)[i]);
+     }
+     else if (TYPE(arg1) == T_STRING) {
+-	if (RSTRING(arg1)->len < 128)
+-	    rb_raise(rb_eArgError, "string length:%d", RSTRING(arg1)->len);
+-	memcpy(mask, RSTRING(arg1)->ptr, 128);
++	if (RSTRING_LEN(arg1) < 128)
++	    rb_raise(rb_eArgError, "string length:%d", RSTRING_LEN(arg1));
++	memcpy(mask, RSTRING_PTR(arg1), 128);
+     }
+     else
+ 	rb_raise(rb_eTypeError, "type mismatch:%s", rb_class2name(arg1));
+@@ -715,12 +715,12 @@
+     GLvoid *lists;
+     if (TYPE(arg1) == T_STRING) {
+ 	type = GL_BYTE;
+-	lists = RSTRING(arg1)->ptr;
+-	n = RSTRING(arg1)->len;
++	lists = RSTRING_PTR(arg1);
++	n = RSTRING_LEN(arg1);
+     }
+     else if (TYPE(arg1) == T_ARRAY) {
+ 	type = GL_INT;
+-	lists = ALLOC_N(int, RARRAY(arg1)->len);
++	lists = ALLOC_N(int, RARRAYi_LEN(arg1));
+ 	if (!lists)
+ 	    rb_raise(rb_eRuntimeError, "GL.CallLists memory allocation");
+ 	n = ary2cint(arg1,lists,0);
+@@ -922,18 +922,18 @@
+ 	case 1:
+ 	    if (TYPE(args[0]) == T_ARRAY) {
+ 		ary = RARRAY(args[0]);
+-		switch (ary->len) {
++		switch (RARRAY_LEN(ary)) {
+ 		    case 2:
+-			gl_Vertex2d(obj,ary->ptr[0],ary->ptr[1]);
++			gl_Vertex2d(obj,RARRAY_PTR(ary)[0],RARRAY_PTR(ary)[1]);
+ 			break;
+ 		    case 3:
+-			gl_Vertex3d(obj,ary->ptr[0],ary->ptr[1],ary->ptr[2]);
++			gl_Vertex3d(obj,RARRAY_PTR(ary)[0],RARRAY_PTR(ary)[1],RARRAY_PTR(ary)[2]);
+ 			break;
+ 		    case 4:
+-			gl_Vertex4d(obj,ary->ptr[0],ary->ptr[1],ary->ptr[2],ary->ptr[3]);
++			gl_Vertex4d(obj,RARRAY_PTR(ary)[0],RARRAY_PTR(ary)[1],RARRAY_PTR(ary)[2],RARRAY_PTR(ary)[3]);
+ 			break;
+ 		    default:
+-			rb_raise(rb_eRuntimeError, "glVertex vertex num error!:%d", ary->len);
++			rb_raise(rb_eRuntimeError, "glVertex vertex num error!:%d", RARRAY_LEN(ary));
+ 		}
+ 	    }
+ 	    else
+@@ -1029,12 +1029,12 @@
+ 	case 1:
+ 	    if (TYPE(args[0]) == T_ARRAY) {
+ 		ary = RARRAY(args[0]);
+-		switch (ary->len) {
++		switch (RARRAY_LEN(ary)) {
+ 		    case 3:
+-			gl_Normal3d(obj,ary->ptr[0], ary->ptr[1],ary->ptr[2]);
++			gl_Normal3d(obj,RARRAY_PTR(ary)[0], RARRAY_PTR(ary)[1],RARRAY_PTR(ary)[2]);
+ 			break;
+ 		    default:
+-			rb_raise(rb_eArgError, "array length:%d", ary->len);
++			rb_raise(rb_eArgError, "array length:%d", RARRAY_LEN(ary));
+ 		}
+ 	    }
+ 	    else
+@@ -1317,15 +1317,15 @@
+ 	case 1:
+ 	    if (TYPE(args[0]) == T_ARRAY) {
+ 		ary = RARRAY(args[0]);
+-		switch (ary->len) {
++		switch (RARRAY_LEN(ary)) {
+ 		    case 3:
+-			gl_Color3d(obj,ary->ptr[0],ary->ptr[1],ary->ptr[2]);
++			gl_Color3d(obj,RARRAY_PTR(ary)[0],RARRAY_PTR(ary)[1],RARRAY_PTR(ary)[2]);
+ 			break;
+ 		    case 4:
+-			gl_Color4d(obj,ary->ptr[0],ary->ptr[1],ary->ptr[2],ary->ptr[3]);
++			gl_Color4d(obj,RARRAY_PTR(ary)[0],RARRAY_PTR(ary)[1],RARRAY_PTR(ary)[2],RARRAY_PTR(ary)[3]);
+ 			break;
+ 		    default:
+-			rb_raise(rb_eArgError, "array length:%d", ary->len);
++			rb_raise(rb_eArgError, "array length:%d", RARRAY_LEN(ary));
+ 		}
+ 	    }
+ 	    else
+@@ -1547,15 +1547,15 @@
+ 	case 1:
+ 	    if (TYPE(args[0]) == T_ARRAY) {
+ 		ary = RARRAY(args[0]);
+-		switch (ary->len) {
++		switch (RARRAY_LEN(ary)) {
+ 		    case 2:
+-			gl_TexCoord2d(obj,ary->ptr[0],ary->ptr[1]);
++			gl_TexCoord2d(obj,RARRAY_PTR(ary)[0],RARRAY_PTR(ary)[1]);
+ 			break;
+ 		    case 3:
+-			gl_TexCoord3d(obj,ary->ptr[0],ary->ptr[1],ary->ptr[2]);
++			gl_TexCoord3d(obj,RARRAY_PTR(ary)[0],RARRAY_PTR(ary)[1],RARRAY_PTR(ary)[2]);
+ 			break;
+ 		    case 4:
+-			gl_TexCoord4d(obj,ary->ptr[0],ary->ptr[1],ary->ptr[2],ary->ptr[3]);
++			gl_TexCoord4d(obj,RARRAY_PTR(ary)[0],RARRAY_PTR(ary)[1],RARRAY_PTR(ary)[2],RARRAY_PTR(ary)[3]);
+ 			break;
+ 		    default:
+ 			rb_raise(rb_eArgError, "array length:%d", num);
+@@ -1745,15 +1745,15 @@
+ 	case 1:
+ 	    if (TYPE(args[0]) == T_ARRAY) {
+ 		ary = RARRAY(args[0]);
+-		switch (ary->len) {
++		switch (RARRAY_LEN(ary)) {
+ 		    case 2:
+-			gl_RasterPos2d(obj,ary->ptr[0],ary->ptr[1]);
++			gl_RasterPos2d(obj,RARRAY_PTR(ary)[0],RARRAY_PTR(ary)[1]);
+ 			break;
+ 		    case 3:
+-			gl_RasterPos3d(obj,ary->ptr[0],ary->ptr[1],ary->ptr[2]);
++			gl_RasterPos3d(obj,RARRAY_PTR(ary)[0],RARRAY_PTR(ary)[1],RARRAY_PTR(ary)[2]);
+ 			break;
+ 		    case 4:
+-			gl_RasterPos4d(obj,ary->ptr[0],ary->ptr[1],ary->ptr[2],ary->ptr[3]);
++			gl_RasterPos4d(obj,RARRAY_PTR(ary)[0],RARRAY_PTR(ary)[1],RARRAY_PTR(ary)[2],RARRAY_PTR(ary)[3]);
+ 			break;
+ 		    default:
+ 			rb_raise(rb_eArgError, "array length:%d", num);
+@@ -1847,12 +1847,12 @@
+ 	case 1:
+ 	    if (TYPE(args[0]) == T_ARRAY) {
+ 		ary = RARRAY(args[0]);
+-		switch (ary->len) {
++		switch (RARRAY_LEN(ary)) {
+ 		    case 4:
+-			gl_Rectd(obj,ary->ptr[0],ary->ptr[1],ary->ptr[2],ary->ptr[3]);
++			gl_Rectd(obj,RARRAY_PTR(ary)[0],RARRAY_PTR(ary)[1],RARRAY_PTR(ary)[2],RARRAY_PTR(ary)[3]);
+ 			break;
+ 		    default:
+-			rb_raise(rb_eArgError, "array length:%d", ary->len);
++			rb_raise(rb_eArgError, "array length:%d", RARRAY_LEN(ary));
+ 		}
+ 	    }
+ 	    else
+@@ -1917,8 +1917,8 @@
+     pname = (GLenum)NUM2INT(arg2);
+     if (TYPE(arg3) == T_ARRAY) {
+ 	ary = RARRAY(arg3);
+-        for(i = 0; i < ary->len && i < 4; i++){
+-	    params[i] = (GLint)NUM2INT(ary->ptr[i]);
++        for(i = 0; i < RARRAY_LEN(ary) && i < 4; i++){
++	    params[i] = (GLint)NUM2INT(RARRAY_PTR(ary)[i]);
+ 	}
+     } 
+     else
+@@ -2145,9 +2145,9 @@
+     ymove = (GLfloat)NUM2DBL(arg6);
+     if (TYPE(arg7) != T_STRING)
+ 	rb_raise(rb_eTypeError, "type mismatch:%s", rb_class2name(CLASS_OF(arg7)));
+-    if (RSTRING(arg7)->len < (width * height / 8))
+-	rb_raise(rb_eArgError, "string length:%d", RSTRING(arg7)->len);
+-    bitmap = (const GLubyte*)RSTRING(arg7)->ptr;
++    if (RSTRING_LEN(arg7) < (width * height / 8))
++	rb_raise(rb_eArgError, "string length:%d", RSTRING_LEN(arg7));
++    bitmap = (const GLubyte*)RSTRING_PTR(arg7);
+     glBitmap(width, height, xorig, yorig, xmove, ymove, bitmap);
+     return Qnil;
+ }
+@@ -2174,7 +2174,7 @@
+ 	type_size = gltype_size(type) / 8;
+ 	format_size = glformat_size(format);
+         pixels = allocate_buffer_with_string(width*height*format_size*type_size);
+-	glReadPixels(x,y,width,height,format,type,(GLvoid*)RSTRING(pixels)->ptr);
++	glReadPixels(x,y,width,height,format,type,(GLvoid*)RSTRING_PTR(pixels));
+ 	return pixels;
+     }
+     return Qnil;
+@@ -2195,9 +2195,9 @@
+     if (format != -1 && type != -1) {
+ 	if (TYPE(arg5) != T_STRING)
+ 	    rb_raise(rb_eTypeError, "type mismatch:%s", rb_class2name(arg5));
+-	if (RSTRING(arg5)->len < width * height * glformat_size(format) * gltype_size(type) / 8)
+-	    rb_raise(rb_eArgError, "string length:%d", RSTRING(arg5)->len);
+-	pixels = RSTRING(arg5)->ptr;
++	if (RSTRING_LEN(arg5) < width * height * glformat_size(format) * gltype_size(type) / 8)
++	    rb_raise(rb_eArgError, "string length:%d", RSTRING_LEN(arg5));
++	pixels = RSTRING_PTR(arg5);
+ 	glDrawPixels(width,height,format,type,pixels);
+     }
+     return Qnil;
+@@ -2422,9 +2422,9 @@
+ 	if (type_size == -1 || format_size == -1)
+ 	    return Qnil;
+ 	size = type_size*format_size*height*width;
+-	if (RSTRING(arg9)->len < size)
+-	    rb_raise(rb_eArgError, "string length:%d",RSTRING(arg9)->len);
+- 	pixels = RSTRING(arg9)->ptr;
++	if (RSTRING_LEN(arg9) < size)
++	    rb_raise(rb_eArgError, "string length:%d",RSTRING_LEN(arg9));
++ 	pixels = RSTRING_PTR(arg9);
+     } else if (NIL_P(arg9)) {
+ 	type_size = gltype_size(type) / 8;
+ 	format_size = glformat_size(format);
+@@ -2691,8 +2691,8 @@
+     pname = (GLenum)NUM2INT(arg1);
+     if (TYPE(arg2) == T_ARRAY) {
+ 	ary = RARRAY(arg2);
+-	for(i = 0; i < ary->len && i < 4; i++){
+-	    params[i] = (GLint)NUM2INT(ary->ptr[i]);
++	for(i = 0; i < RARRAY_LEN(ary) && i < 4; i++){
++	    params[i] = (GLint)NUM2INT(RARRAY_PTR(ary)[i]);
+ 	}
+     } 
+     else
+@@ -2732,7 +2732,7 @@
+     }
+     g_current_feed_buffer = allocate_buffer_with_string(sizeof(GLfloat)*size);
+     rb_str_freeze(g_current_feed_buffer);
+-    glFeedbackBuffer(size, type, (GLfloat*)RSTRING(g_current_feed_buffer)->ptr);
++    glFeedbackBuffer(size, type, (GLfloat*)RSTRING_PTR(g_current_feed_buffer));
+     return g_current_feed_buffer;
+ }
+ static VALUE g_current_sel_buffer;
+@@ -2750,7 +2750,7 @@
+ 	size = (GLsizei)NUM2INT(args);
+     g_current_sel_buffer = allocate_buffer_with_string(sizeof(GLuint)*size);
+     rb_str_freeze(g_current_sel_buffer);
+-    glSelectBuffer(size, (GLuint*)RSTRING(g_current_sel_buffer)->ptr);
++    glSelectBuffer(size, (GLuint*)RSTRING_PTR(g_current_sel_buffer));
+     return g_current_sel_buffer;
+ }
+ 
+@@ -2827,7 +2827,7 @@
+     Check_Type(arg4, T_STRING); \
+     rb_str_freeze(arg4); \
+     g_##_func_##_ptr = arg4; \
+-    gl##_func_##Pointer(size, type, stride, (const GLvoid*)RSTRING(arg4)->ptr); \
++    gl##_func_##Pointer(size, type, stride, (const GLvoid*)RSTRING_PTR(arg4)); \
+     return Qnil; \
+ }
+ 
+@@ -2848,7 +2848,7 @@
+     Check_Type(arg3, T_STRING);
+     rb_str_freeze(arg3);
+     g_Normal_ptr = arg3;
+-    glNormalPointer(type, stride, (const GLvoid*)RSTRING(arg3)->ptr);
++    glNormalPointer(type, stride, (const GLvoid*)RSTRING_PTR(arg3));
+     return Qnil;
+ }
+ static VALUE
+@@ -2862,7 +2862,7 @@
+     Check_Type(arg3, T_STRING);
+     rb_str_freeze(arg3);
+     g_Index_ptr = arg3;
+-    glIndexPointer(type, stride, (const GLvoid*)RSTRING(arg3)->ptr);
++    glIndexPointer(type, stride, (const GLvoid*)RSTRING_PTR(arg3));
+     return Qnil;
+ }
+ static VALUE
+@@ -2874,7 +2874,7 @@
+     Check_Type(arg2, T_STRING);
+     rb_str_freeze(arg2);
+     g_EdgeFlag_ptr = arg2;
+-    glEdgeFlagPointer(stride, (const GLboolean*)RSTRING(arg2)->ptr);
++    glEdgeFlagPointer(stride, (const GLboolean*)RSTRING_PTR(arg2));
+     return Qnil;
+ }
+ static VALUE
+@@ -2938,7 +2938,7 @@
+     count = (GLsizei)NUM2INT(arg2);
+     type = (GLenum)NUM2INT(arg3);
+     Check_Type(arg4, T_STRING);
+-    glDrawElements(mode, count, type, (const GLvoid*)RSTRING(arg4)->ptr);
++    glDrawElements(mode, count, type, (const GLvoid*)RSTRING_PTR(arg4));
+     return Qnil;
+ }
+ static VALUE
+@@ -2950,7 +2950,7 @@
+     format = (GLenum)NUM2INT(arg1);
+     stride = (GLsizei)NUM2INT(arg2);
+     Check_Type(arg3, T_STRING);
+-    glInterleavedArrays(format, stride, (const GLvoid*)RSTRING(arg3)->ptr);
++    glInterleavedArrays(format, stride, (const GLvoid*)RSTRING_PTR(arg3));
+     return Qnil;
+ }
+ static VALUE
+@@ -2982,7 +2982,7 @@
+     if (TYPE(arg1) != T_ARRAY)
+ 	rb_raise(rb_eTypeError, "type mismatch:%s", rb_class2name(arg1));
+     ary = RARRAY(arg1);
+-    n = ary->len;
++    n = RARRAY_LEN(ary);
+     textures = xmalloc(n);
+     ary2cint((VALUE)ary,(int*)textures,0); /* OK? */
+     glDeleteTextures( n, textures);
+@@ -3041,9 +3041,9 @@
+ 	if (type_size == -1 || format_size == -1)
+ 	    return Qnil;
+ 	size = type_size*format_size*height*width;
+-	if (RSTRING(arg9)->len < size)
+-	    rb_raise(rb_eArgError, "string length:%d",RSTRING(arg9)->len);
+- 	pixels = RSTRING(arg9)->ptr;
++	if (RSTRING_LEN(arg9) < size)
++	    rb_raise(rb_eArgError, "string length:%d",RSTRINGi_LEN(arg9));
++ 	pixels = RSTRING_PTR(arg9);
+     } else
+ 	rb_raise(rb_eTypeError, "type mismatch:%s",rb_class2name(arg9));
+     glTexSubImage2D(target,level,xoffset,yoffset,width,height,
+@@ -3154,7 +3154,7 @@
+     count = (GLsizei)NUM2INT(arg4);
+     type = (GLenum)NUM2INT(arg5);
+     Check_Type(arg6, T_STRING);
+-    glDrawRangeElements(mode, start, end, count, type, RSTRING(arg6)->ptr);
++    glDrawRangeElements(mode, start, end, count, type, RSTRING_PTR(arg6));
+     return Qnil;
+ }
+ VALUE
+@@ -3188,11 +3188,11 @@
+     if (type_size == -1 || format_size == -1)
+         return Qnil;
<<Diff was trimmed, longer than 597 lines>>


More information about the pld-cvs-commit mailing list