Mon Mar 17 14:12:10 2014 UTC ()
* Add GEM_EXTSDIR support.
* Fix build with Ruby 2.1.1.


(taca)
diff -r1.9 -r1.10 pkgsrc/graphics/ruby-gd/PLIST
diff -r1.6 -r1.7 pkgsrc/graphics/ruby-gd/distinfo
diff -r1.1 -r1.2 pkgsrc/graphics/ruby-gd/patches/patch-aa

cvs diff -r1.9 -r1.10 pkgsrc/graphics/ruby-gd/PLIST (expand / switch to unified diff)

--- pkgsrc/graphics/ruby-gd/PLIST 2013/07/07 15:27:26 1.9
+++ pkgsrc/graphics/ruby-gd/PLIST 2014/03/17 14:12:10 1.10
@@ -1,16 +1,17 @@ @@ -1,16 +1,17 @@
1@comment $NetBSD: PLIST,v 1.9 2013/07/07 15:27:26 taca Exp $ 1@comment $NetBSD: PLIST,v 1.10 2014/03/17 14:12:10 taca Exp $
2${GEM_HOME}/build_info/${GEM_NAME}.info 2${GEM_HOME}/build_info/${GEM_NAME}.info
3${GEM_HOME}/cache/${GEM_NAME}.gem 3${GEM_HOME}/cache/${GEM_NAME}.gem
 4${GEM_EXTSDIR}/GD.${RUBY_DLEXT}
4${GEM_LIBDIR}/Changes 5${GEM_LIBDIR}/Changes
5${GEM_LIBDIR}/GD.c 6${GEM_LIBDIR}/GD.c
6${GEM_LIBDIR}/doc/INSTALL.en 7${GEM_LIBDIR}/doc/INSTALL.en
7${GEM_LIBDIR}/doc/INSTALL.ja 8${GEM_LIBDIR}/doc/INSTALL.ja
8${GEM_LIBDIR}/doc/manual.html 9${GEM_LIBDIR}/doc/manual.html
9${GEM_LIBDIR}/doc/manual.rd 10${GEM_LIBDIR}/doc/manual.rd
10${GEM_LIBDIR}/doc/manual_index.html 11${GEM_LIBDIR}/doc/manual_index.html
11${GEM_LIBDIR}/extconf.rb 12${GEM_LIBDIR}/extconf.rb
12${GEM_LIBDIR}/lib/GD.${RUBY_DLEXT} 13${GEM_LIBDIR}/lib/GD.${RUBY_DLEXT}
13${GEM_LIBDIR}/readme.en 14${GEM_LIBDIR}/readme.en
14${GEM_LIBDIR}/readme.ja 15${GEM_LIBDIR}/readme.ja
15${GEM_LIBDIR}/sample/example.rb 16${GEM_LIBDIR}/sample/example.rb
16${GEM_LIBDIR}/sample/gdtestttf.png 17${GEM_LIBDIR}/sample/gdtestttf.png

cvs diff -r1.6 -r1.7 pkgsrc/graphics/ruby-gd/distinfo (expand / switch to unified diff)

--- pkgsrc/graphics/ruby-gd/distinfo 2010/09/10 06:46:43 1.6
+++ pkgsrc/graphics/ruby-gd/distinfo 2014/03/17 14:12:10 1.7
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
1$NetBSD: distinfo,v 1.6 2010/09/10 06:46:43 taca Exp $ 1$NetBSD: distinfo,v 1.7 2014/03/17 14:12:10 taca Exp $
2 2
3SHA1 (ruby-gd-0.8.0.gem) = a38a2eaa786afd1ad1fe56961ff7168e8fab7996 3SHA1 (ruby-gd-0.8.0.gem) = a38a2eaa786afd1ad1fe56961ff7168e8fab7996
4RMD160 (ruby-gd-0.8.0.gem) = 73369970a3ae17feda1b428c19e0bc8bb52d05dc 4RMD160 (ruby-gd-0.8.0.gem) = 73369970a3ae17feda1b428c19e0bc8bb52d05dc
5Size (ruby-gd-0.8.0.gem) = 41984 bytes 5Size (ruby-gd-0.8.0.gem) = 41984 bytes
6SHA1 (patch-aa) = ffef6908e1923463756d495db6466604f7a53150 6SHA1 (patch-aa) = eb761593b7fbbe04df46eac8e868f6f4d301345f

cvs diff -r1.1 -r1.2 pkgsrc/graphics/ruby-gd/patches/patch-aa (expand / switch to unified diff)

--- pkgsrc/graphics/ruby-gd/patches/patch-aa 2010/09/10 06:46:43 1.1
+++ pkgsrc/graphics/ruby-gd/patches/patch-aa 2014/03/17 14:12:10 1.2
@@ -1,18 +1,18 @@ @@ -1,18 +1,18 @@
1$NetBSD: patch-aa,v 1.1 2010/09/10 06:46:43 taca Exp $ 1$NetBSD: patch-aa,v 1.2 2014/03/17 14:12:10 taca Exp $
2 2
3Support both Ruby 1.8 and Ruby 1.9. 3Support both Ruby 1.8 and Ruby 1.9.
4 4
5--- GD.c.orig 2010-09-09 08:50:50.000000000 +0000 5--- GD.c.orig 2014-03-11 11:19:58.000000000 +0000
6+++ GD.c 6+++ GD.c
7@@ -11,7 +11,23 @@ 7@@ -11,7 +11,23 @@
8 **************************************************************/ 8 **************************************************************/
9 #include "ruby.h" 9 #include "ruby.h"
10+#ifdef HAVE_RUBY_IO_H /* Ruby 1.9 and later */ 10+#ifdef HAVE_RUBY_IO_H /* Ruby 1.9 and later */
11+ 11+
12+#include "ruby/io.h" 12+#include "ruby/io.h"
13+#include "ruby/version.h" 13+#include "ruby/version.h"
14+ 14+
15+#define RB_IO_PATH(iot) (RSTRING_PTR((iot)->pathv)) 15+#define RB_IO_PATH(iot) (RSTRING_PTR((iot)->pathv))
16+#define RB_IO_FILE(iot) rb_io_stdio_file((iot)) 16+#define RB_IO_FILE(iot) rb_io_stdio_file((iot))
17+ 17+
18+#else /* Ruby 1.8.x */ 18+#else /* Ruby 1.8.x */
@@ -611,215 +611,225 @@ Support both Ruby 1.8 and Ruby 1.9. @@ -611,215 +611,225 @@ Support both Ruby 1.8 and Ruby 1.9.
611 { 611 {
612 gdImagePtr im; 612 gdImagePtr im;
613- OpenFile *fptr; 613- OpenFile *fptr;
614+ rb_io_t *fptr; 614+ rb_io_t *fptr;
615 FILE *f; 615 FILE *f;
616  616
617@@ -1679,5 +1697,5 @@ img_wbmp(img, fg, out) 617@@ -1679,5 +1697,5 @@ img_wbmp(img, fg, out)
618 GetOpenFile(out, fptr); 618 GetOpenFile(out, fptr);
619 rb_io_check_writable(fptr); 619 rb_io_check_writable(fptr);
620- f = (fptr->f2) ? fptr->f2 : fptr->f; 620- f = (fptr->f2) ? fptr->f2 : fptr->f;
621+ f = RB_IO_FILE(fptr); 621+ f = RB_IO_FILE(fptr);
622  622
623 gdImageWBMP(im, FIX2INT(fg), f); 623 gdImageWBMP(im, FIX2INT(fg), f);
624@@ -1725,7 +1743,7 @@ ply_to_pt(ply, dx, dy) 624@@ -1698,5 +1716,9 @@ ply_new(klass)
 625 VALUE self = rb_ary_new();
 626
 627+#if RUBY_API_VERSION_MAJOR >=2 && RUBY_API_VERSION_MINOR >= 1
 628+ rb_obj_reveal(self, klass);
 629+#else
 630 RBASIC(self)->klass = klass;
 631+#endif
 632 return self;
 633 }
 634@@ -1725,7 +1747,7 @@ ply_to_pt(ply, dx, dy)
625 NUM2INT(dy); 635 NUM2INT(dy);
626  636
627- if (RARRAY(ply)->len > 0) { 637- if (RARRAY(ply)->len > 0) {
628- x = rb_ary_entry(ply, RARRAY(ply)->len - 2); 638- x = rb_ary_entry(ply, RARRAY(ply)->len - 2);
629- y = rb_ary_entry(ply, RARRAY(ply)->len - 1); 639- y = rb_ary_entry(ply, RARRAY(ply)->len - 1);
630+ if (RARRAY_LEN(ply) > 0) { 640+ if (RARRAY_LEN(ply) > 0) {
631+ x = rb_ary_entry(ply, RARRAY_LEN(ply) - 2); 641+ x = rb_ary_entry(ply, RARRAY_LEN(ply) - 2);
632+ y = rb_ary_entry(ply, RARRAY_LEN(ply) - 1); 642+ y = rb_ary_entry(ply, RARRAY_LEN(ply) - 1);
633 rb_ary_push(ply, INT2NUM(NUM2INT(x) + NUM2INT(dx))); 643 rb_ary_push(ply, INT2NUM(NUM2INT(x) + NUM2INT(dx)));
634 rb_ary_push(ply, INT2NUM(NUM2INT(y) + NUM2INT(dy))); 644 rb_ary_push(ply, INT2NUM(NUM2INT(y) + NUM2INT(dy)));
635@@ -1742,5 +1760,5 @@ ply_get_pt(ply, idx) 645@@ -1742,5 +1764,5 @@ ply_get_pt(ply, idx)
636 int i = NUM2INT(idx); 646 int i = NUM2INT(idx);
637  647
638- if (RARRAY(ply)->len < idx) return Qnil; 648- if (RARRAY(ply)->len < idx) return Qnil;
639+ if (RARRAY_LEN(ply) < idx) return Qnil; 649+ if (RARRAY_LEN(ply) < idx) return Qnil;
640 i *= 2; 650 i *= 2;
641  651
642@@ -1780,5 +1798,5 @@ ply_length(ply) 652@@ -1780,5 +1802,5 @@ ply_length(ply)
643 VALUE ply; 653 VALUE ply;
644 { 654 {
645- return INT2FIX(RARRAY(ply)->len / 2); 655- return INT2FIX(RARRAY(ply)->len / 2);
646+ return INT2FIX(RARRAY_LEN(ply) / 2); 656+ return INT2FIX(RARRAY_LEN(ply) / 2);
647 } 657 }
648  658
649@@ -1788,8 +1806,8 @@ ply_vertices(ply) 659@@ -1788,8 +1810,8 @@ ply_vertices(ply)
650 { 660 {
651 int i; 661 int i;
652- VALUE ary = rb_ary_new2(ply->len/2); 662- VALUE ary = rb_ary_new2(ply->len/2);
653+ VALUE ary = rb_ary_new2(RARRAY_LEN(ply)/2); 663+ VALUE ary = rb_ary_new2(RARRAY_LEN(ply)/2);
654  664
655- for (i = 0; i<ply->len; i+=2) { 665- for (i = 0; i<ply->len; i+=2) {
656- rb_ary_push(ary, rb_assoc_new(ply->ptr[i], ply->ptr[i+1])); 666- rb_ary_push(ary, rb_assoc_new(ply->ptr[i], ply->ptr[i+1]));
657+ for (i = 0; i< RARRAY_LEN(ply); i+=2) { 667+ for (i = 0; i< RARRAY_LEN(ply); i+=2) {
658+ rb_ary_push(ary, rb_assoc_new(RARRAY_PTR(ply)[i], RARRAY_PTR(ply)[i+1])); 668+ rb_ary_push(ary, rb_assoc_new(RARRAY_PTR(ply)[i], RARRAY_PTR(ply)[i+1]));
659 } 669 }
660 return ary; 670 return ary;
661@@ -1803,16 +1821,16 @@ ply_bounds(ply) 671@@ -1803,16 +1825,16 @@ ply_bounds(ply)
662 int nx, ny; 672 int nx, ny;
663  673
664- if (ply->len == 0) { 674- if (ply->len == 0) {
665+ if (RARRAY_LEN(ply) == 0) { 675+ if (RARRAY_LEN(ply) == 0) {
666 l = t = r = b = 0; 676 l = t = r = b = 0;
667 } 677 }
668 else { 678 else {
669- l = r = NUM2INT(ply->ptr[0]); 679- l = r = NUM2INT(ply->ptr[0]);
670- t = b = NUM2INT(ply->ptr[1]); 680- t = b = NUM2INT(ply->ptr[1]);
671+ l = r = NUM2INT(RARRAY_PTR(ply)[0]); 681+ l = r = NUM2INT(RARRAY_PTR(ply)[0]);
672+ t = b = NUM2INT(RARRAY_PTR(ply)[1]); 682+ t = b = NUM2INT(RARRAY_PTR(ply)[1]);
673 } 683 }
674- for (i = 2; i<ply->len; i+=2) { 684- for (i = 2; i<ply->len; i+=2) {
675- nx = NUM2INT(ply->ptr[i]); 685- nx = NUM2INT(ply->ptr[i]);
676+ for (i = 2; i< RARRAY_LEN(ply); i+=2) { 686+ for (i = 2; i< RARRAY_LEN(ply); i+=2) {
677+ nx = NUM2INT(RARRAY_PTR(ply)[i]); 687+ nx = NUM2INT(RARRAY_PTR(ply)[i]);
678 if (nx < l) l = nx; 688 if (nx < l) l = nx;
679 if (nx > r) r = nx; 689 if (nx > r) r = nx;
680- ny = NUM2INT(ply->ptr[i+1]); 690- ny = NUM2INT(ply->ptr[i+1]);
681+ ny = NUM2INT(RARRAY_PTR(ply)[i+1]); 691+ ny = NUM2INT(RARRAY_PTR(ply)[i+1]);
682 if (ny < t) t = ny; 692 if (ny < t) t = ny;
683 if (ny > b) b = ny; 693 if (ny > b) b = ny;
684@@ -1831,9 +1849,9 @@ ply_offset(ply, vx, vy) 694@@ -1831,9 +1853,9 @@ ply_offset(ply, vx, vy)
685 y = NUM2INT(vy); 695 y = NUM2INT(vy);
686  696
687- for (i = 0; i<ply->len; i+=2) { 697- for (i = 0; i<ply->len; i+=2) {
688- c = NUM2INT(ply->ptr[i]) + x; 698- c = NUM2INT(ply->ptr[i]) + x;
689- ply->ptr[i] = INT2FIX(c); 699- ply->ptr[i] = INT2FIX(c);
690- c = NUM2INT(ply->ptr[i+1]) + y; 700- c = NUM2INT(ply->ptr[i+1]) + y;
691- ply->ptr[i+1] = INT2FIX(c); 701- ply->ptr[i+1] = INT2FIX(c);
692+ for (i = 0; i< RARRAY_LEN(ply); i+=2) { 702+ for (i = 0; i< RARRAY_LEN(ply); i+=2) {
693+ c = NUM2INT(RARRAY_PTR(ply)[i]) + x; 703+ c = NUM2INT(RARRAY_PTR(ply)[i]) + x;
694+ RARRAY_PTR(ply)[i] = INT2FIX(c); 704+ RARRAY_PTR(ply)[i] = INT2FIX(c);
695+ c = NUM2INT(RARRAY_PTR(ply)[i+1]) + y; 705+ c = NUM2INT(RARRAY_PTR(ply)[i+1]) + y;
696+ RARRAY_PTR(ply)[i+1] = INT2FIX(c); 706+ RARRAY_PTR(ply)[i+1] = INT2FIX(c);
697 } 707 }
698  708
699@@ -1858,16 +1876,16 @@ ply_map(argc, argv, ply) 709@@ -1858,16 +1880,16 @@ ply_map(argc, argv, ply)
700 int nx, ny; 710 int nx, ny;
701  711
702- if (ply->len == 0) { 712- if (ply->len == 0) {
703+ if (RARRAY_LEN(ply) == 0) { 713+ if (RARRAY_LEN(ply) == 0) {
704 l = t = r = b = 0; 714 l = t = r = b = 0;
705 } 715 }
706 else { 716 else {
707- l = r = NUM2INT(ply->ptr[0]); 717- l = r = NUM2INT(ply->ptr[0]);
708- t = b = NUM2INT(ply->ptr[1]); 718- t = b = NUM2INT(ply->ptr[1]);
709+ l = r = NUM2INT(RARRAY_PTR(ply)[0]); 719+ l = r = NUM2INT(RARRAY_PTR(ply)[0]);
710+ t = b = NUM2INT(RARRAY_PTR(ply)[1]); 720+ t = b = NUM2INT(RARRAY_PTR(ply)[1]);
711 } 721 }
712- for (i = 2; i<ply->len; i+=2) { 722- for (i = 2; i<ply->len; i+=2) {
713- nx = NUM2INT(ply->ptr[i]); 723- nx = NUM2INT(ply->ptr[i]);
714+ for (i = 2; i<RARRAY_LEN(ply); i+=2) { 724+ for (i = 2; i<RARRAY_LEN(ply); i+=2) {
715+ nx = NUM2INT(RARRAY_PTR(ply)[i]); 725+ nx = NUM2INT(RARRAY_PTR(ply)[i]);
716 if (nx < l) l = nx; 726 if (nx < l) l = nx;
717 if (nx > r) r = nx; 727 if (nx > r) r = nx;
718- ny = NUM2INT(ply->ptr[i+1]); 728- ny = NUM2INT(ply->ptr[i+1]);
719+ ny = NUM2INT(RARRAY_PTR(ply)[i+1]); 729+ ny = NUM2INT(RARRAY_PTR(ply)[i+1]);
720 if (ny < t) t = ny; 730 if (ny < t) t = ny;
721 if (ny > b) b = ny; 731 if (ny > b) b = ny;
722@@ -1894,12 +1912,12 @@ ply_map(argc, argv, ply) 732@@ -1894,12 +1916,12 @@ ply_map(argc, argv, ply)
723 } 733 }
724  734
725- for (i = 0; i<ply->len; i+=2) { 735- for (i = 0; i<ply->len; i+=2) {
726- c = NUM2INT(ply->ptr[i]); 736- c = NUM2INT(ply->ptr[i]);
727+ for (i = 0; i<RARRAY_LEN(ply); i+=2) { 737+ for (i = 0; i<RARRAY_LEN(ply); i+=2) {
728+ c = NUM2INT(RARRAY_PTR(ply)[i]); 738+ c = NUM2INT(RARRAY_PTR(ply)[i]);
729 c = (c-sx)*xmag+dx; 739 c = (c-sx)*xmag+dx;
730- ply->ptr[i] = INT2FIX(c); 740- ply->ptr[i] = INT2FIX(c);
731+ RARRAY_PTR(ply)[i] = INT2FIX(c); 741+ RARRAY_PTR(ply)[i] = INT2FIX(c);
732  742
733- c = NUM2INT(ply->ptr[i+1]); 743- c = NUM2INT(ply->ptr[i+1]);
734+ c = NUM2INT(RARRAY_PTR(ply)[i+1]); 744+ c = NUM2INT(RARRAY_PTR(ply)[i+1]);
735 c = (c-sy)*ymag+dy; 745 c = (c-sy)*ymag+dy;
736- ply->ptr[i+1] = INT2FIX(c); 746- ply->ptr[i+1] = INT2FIX(c);
737+ RARRAY_PTR(ply)[i+1] = INT2FIX(c); 747+ RARRAY_PTR(ply)[i+1] = INT2FIX(c);
738 } 748 }
739  749
740@@ -1914,9 +1932,9 @@ ply_transform(ply, a, b, c, d, tx, ty) 750@@ -1914,9 +1936,9 @@ ply_transform(ply, a, b, c, d, tx, ty)
741 VALUE x, y; 751 VALUE x, y;
742  752
743- for (i = 0; i < RARRAY(ply)->len / 2; i++) { 753- for (i = 0; i < RARRAY(ply)->len / 2; i++) {
744+ for (i = 0; i < RARRAY_LEN(ply) / 2; i++) { 754+ for (i = 0; i < RARRAY_LEN(ply) / 2; i++) {
745 /* x = rb_ary_entry(ply, i * 2); 755 /* x = rb_ary_entry(ply, i * 2);
746 y = rb_ary_entry(ply, i * 2 + 1);*/ 756 y = rb_ary_entry(ply, i * 2 + 1);*/
747- x = RARRAY(ply)->ptr[i * 2]; 757- x = RARRAY(ply)->ptr[i * 2];
748- y = RARRAY(ply)->ptr[i * 2 + 1]; 758- y = RARRAY(ply)->ptr[i * 2 + 1];
749+ x = RARRAY_PTR(ply)[i * 2]; 759+ x = RARRAY_PTR(ply)[i * 2];
750+ y = RARRAY_PTR(ply)[i * 2 + 1]; 760+ y = RARRAY_PTR(ply)[i * 2 + 1];
751 ply_set_pt(ply, INT2NUM(i), 761 ply_set_pt(ply, INT2NUM(i),
752 INT2NUM(NUM2DBL(a) * NUM2INT(x) + NUM2DBL(c) * NUM2INT(y) + NUM2INT(tx)), 762 INT2NUM(NUM2DBL(a) * NUM2INT(x) + NUM2DBL(c) * NUM2INT(y) + NUM2INT(tx)),
753@@ -1968,5 +1986,5 @@ fnt_s_new(obj, name) 763@@ -1968,5 +1990,5 @@ fnt_s_new(obj, name)
754 { 764 {
755 Check_Type(name, T_STRING); 765 Check_Type(name, T_STRING);
756- return fnt_new(name->ptr); 766- return fnt_new(name->ptr);
757+ return fnt_new(RSTRING_PTR(name)); 767+ return fnt_new(RSTRING_PTR(name));
758 } 768 }
759  769
760@@ -2060,7 +2078,7 @@ img_color_allocate_alpha_str(img, rgbstr 770@@ -2060,7 +2082,7 @@ img_color_allocate_alpha_str(img, rgbstr
761 ary = hex2triplet(rgbstr); 771 ary = hex2triplet(rgbstr);
762 c = gdImageColorAllocateAlpha(im, 772 c = gdImageColorAllocateAlpha(im,
763- NUM2INT(*(RARRAY(ary)->ptr)), 773- NUM2INT(*(RARRAY(ary)->ptr)),
764- NUM2INT(*(RARRAY(ary)->ptr+1)), 774- NUM2INT(*(RARRAY(ary)->ptr+1)),
765- NUM2INT(*(RARRAY(ary)->ptr+2)), 775- NUM2INT(*(RARRAY(ary)->ptr+2)),
766+ NUM2INT(*(RARRAY_PTR(ary))), 776+ NUM2INT(*(RARRAY_PTR(ary))),
767+ NUM2INT(*(RARRAY_PTR(ary)+1)), 777+ NUM2INT(*(RARRAY_PTR(ary)+1)),
768+ NUM2INT(*(RARRAY_PTR(ary)+2)), 778+ NUM2INT(*(RARRAY_PTR(ary)+2)),
769 NUM2INT(a)); 779 NUM2INT(a));
770 return INT2NUM(c); 780 return INT2NUM(c);
771@@ -2122,7 +2140,7 @@ img_color_resolve_alpha_str(img, rgbstr, 781@@ -2122,7 +2144,7 @@ img_color_resolve_alpha_str(img, rgbstr,
772 ary = hex2triplet(rgbstr); 782 ary = hex2triplet(rgbstr);
773 c = gdImageColorResolveAlpha(im, 783 c = gdImageColorResolveAlpha(im,
774- NUM2INT(*(RARRAY(ary)->ptr)), 784- NUM2INT(*(RARRAY(ary)->ptr)),
775- NUM2INT(*(RARRAY(ary)->ptr+1)), 785- NUM2INT(*(RARRAY(ary)->ptr+1)),
776- NUM2INT(*(RARRAY(ary)->ptr+2)), 786- NUM2INT(*(RARRAY(ary)->ptr+2)),
777+ NUM2INT(*(RARRAY_PTR(ary))), 787+ NUM2INT(*(RARRAY_PTR(ary))),
778+ NUM2INT(*(RARRAY_PTR(ary)+1)), 788+ NUM2INT(*(RARRAY_PTR(ary)+1)),
779+ NUM2INT(*(RARRAY_PTR(ary)+2)), 789+ NUM2INT(*(RARRAY_PTR(ary)+2)),
780 NUM2INT(a)); 790 NUM2INT(a));
781 return INT2NUM(c); 791 return INT2NUM(c);
782@@ -2183,7 +2201,7 @@ img_color_closest_alpha_str(img, rgbstr, 792@@ -2183,7 +2205,7 @@ img_color_closest_alpha_str(img, rgbstr,
783 ary = hex2triplet(rgbstr); 793 ary = hex2triplet(rgbstr);
784 c = gdImageColorClosestAlpha(im, 794 c = gdImageColorClosestAlpha(im,
785- NUM2INT(*(RARRAY(ary)->ptr)), 795- NUM2INT(*(RARRAY(ary)->ptr)),
786- NUM2INT(*(RARRAY(ary)->ptr+1)), 796- NUM2INT(*(RARRAY(ary)->ptr+1)),
787- NUM2INT(*(RARRAY(ary)->ptr+2)), 797- NUM2INT(*(RARRAY(ary)->ptr+2)),
788+ NUM2INT(*(RARRAY_PTR(ary))), 798+ NUM2INT(*(RARRAY_PTR(ary))),
789+ NUM2INT(*(RARRAY_PTR(ary)+1)), 799+ NUM2INT(*(RARRAY_PTR(ary)+1)),
790+ NUM2INT(*(RARRAY_PTR(ary)+2)), 800+ NUM2INT(*(RARRAY_PTR(ary)+2)),
791 NUM2INT(a)); 801 NUM2INT(a));
792 return INT2NUM(c); 802 return INT2NUM(c);
793@@ -2245,7 +2263,7 @@ img_color_exact_alpha_str(img, rgbstr, a 803@@ -2245,7 +2267,7 @@ img_color_exact_alpha_str(img, rgbstr, a
794 ary = hex2triplet(rgbstr); 804 ary = hex2triplet(rgbstr);
795 c = gdImageColorExactAlpha(im, 805 c = gdImageColorExactAlpha(im,
796- NUM2INT(*(RARRAY(ary)->ptr)), 806- NUM2INT(*(RARRAY(ary)->ptr)),
797- NUM2INT(*(RARRAY(ary)->ptr+1)), 807- NUM2INT(*(RARRAY(ary)->ptr+1)),
798- NUM2INT(*(RARRAY(ary)->ptr+2)), 808- NUM2INT(*(RARRAY(ary)->ptr+2)),
799+ NUM2INT(*(RARRAY_PTR(ary))), 809+ NUM2INT(*(RARRAY_PTR(ary))),
800+ NUM2INT(*(RARRAY_PTR(ary)+1)), 810+ NUM2INT(*(RARRAY_PTR(ary)+1)),
801+ NUM2INT(*(RARRAY_PTR(ary)+2)), 811+ NUM2INT(*(RARRAY_PTR(ary)+2)),
802 NUM2INT(a)); 812 NUM2INT(a));
803 return INT2NUM(c); 813 return INT2NUM(c);
804@@ -2311,7 +2329,7 @@ img_s_truecolor_str(rgbstr) 814@@ -2311,7 +2333,7 @@ img_s_truecolor_str(rgbstr)
805 VALUE ary; 815 VALUE ary;
806 ary = hex2triplet(rgbstr); 816 ary = hex2triplet(rgbstr);
807- c = gdTrueColor(NUM2INT(*(RARRAY(ary)->ptr)), 817- c = gdTrueColor(NUM2INT(*(RARRAY(ary)->ptr)),
808- NUM2INT(*(RARRAY(ary)->ptr+1)), 818- NUM2INT(*(RARRAY(ary)->ptr+1)),
809- NUM2INT(*(RARRAY(ary)->ptr+2))); 819- NUM2INT(*(RARRAY(ary)->ptr+2)));
810+ c = gdTrueColor(NUM2INT(*(RARRAY_PTR(ary))), 820+ c = gdTrueColor(NUM2INT(*(RARRAY_PTR(ary))),
811+ NUM2INT(*(RARRAY_PTR(ary)+1)), 821+ NUM2INT(*(RARRAY_PTR(ary)+1)),
812+ NUM2INT(*(RARRAY_PTR(ary)+2))); 822+ NUM2INT(*(RARRAY_PTR(ary)+2)));
813  823
814 return INT2NUM(c); 824 return INT2NUM(c);
815@@ -2365,7 +2383,7 @@ img_s_truecolor_alpha_str(rgbstr, a) 825@@ -2365,7 +2387,7 @@ img_s_truecolor_alpha_str(rgbstr, a)
816 VALUE ary; 826 VALUE ary;
817 ary = hex2triplet(rgbstr); 827 ary = hex2triplet(rgbstr);
818- c = gdTrueColorAlpha(NUM2INT(*(RARRAY(ary)->ptr)), 828- c = gdTrueColorAlpha(NUM2INT(*(RARRAY(ary)->ptr)),
819- NUM2INT(*(RARRAY(ary)->ptr+1)), 829- NUM2INT(*(RARRAY(ary)->ptr+1)),
820- NUM2INT(*(RARRAY(ary)->ptr+2)), 830- NUM2INT(*(RARRAY(ary)->ptr+2)),
821+ c = gdTrueColorAlpha(NUM2INT(*(RARRAY_PTR(ary))), 831+ c = gdTrueColorAlpha(NUM2INT(*(RARRAY_PTR(ary))),
822+ NUM2INT(*(RARRAY_PTR(ary)+1)), 832+ NUM2INT(*(RARRAY_PTR(ary)+1)),
823+ NUM2INT(*(RARRAY_PTR(ary)+2)), 833+ NUM2INT(*(RARRAY_PTR(ary)+2)),
824 NUM2INT(a)); 834 NUM2INT(a));
825 return INT2NUM(c); 835 return INT2NUM(c);