From: Katsuyuki Komatsu Date: 2000-05-21T21:11:52+09:00 Subject: [ruby-dev:9783] Re: IRIX 6.5 cc -64 support 小松です。 In the message of [ruby-dev:9768] Re: IRIX 6.5 cc -64 support on 2000/5/19 23:50:50 Katsuyuki Komatsu wrote: |pack 2は以下のような感じです。 |'l'でlongの上位4バイトを拾ってしまったみたいな感じですね。 修正はまあこんなところでしょう。 ところで、perldoc -f packを見てみましたが、64-bit用に 'q'と'Q'があるんですね。 サポートした方がいいのかな? q A signed quad (64-bit) value. Q An unsigned quad value. (Quads are available only if your system supports 64-bit integer values _and_ if Perl has been compiled to support those. Causes a fatal error otherwise.) Sun May 21 20:58:08 2000 Katsuyuki Komatsu * pack.c: fix OFF16 and OFF32 definitions for Alpha and IRIX64. Index: pack.c =================================================================== RCS file: /home/cvs/ruby/pack.c,v retrieving revision 1.11 diff -u -1 -p -r1.11 pack.c --- pack.c 2000/05/15 06:38:42 1.11 +++ pack.c 2000/05/21 11:58:08 @@ -25,5 +25,5 @@ # define NATINT_LEN(type,len) (natint?sizeof(type):(len)) -# ifndef WORDS_BIGENDIAN -# define OFF16(p) ((char*)(p) + (natint?(sizeof(short) - 2):0)) -# define OFF32(p) ((char*)(p) + (natint?(sizeof(long) - 4):0)) +# ifdef WORDS_BIGENDIAN +# define OFF16(p) ((char*)(p) + (natint?0:(sizeof(short) - 2))) +# define OFF32(p) ((char*)(p) + (natint?0:(sizeof(long) - 4))) # endif -- 小松克行 / Katsuyuki Komatsu