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>>
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to