| @@ -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 | |
3 | Support both Ruby 1.8 and Ruby 1.9. | | 3 | Support 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); |