From: "民斗" Date: 1999-06-08T01:57:06+09:00 Subject: [ruby-dev:7082] [BUG] unpack('m') 民斗です。 String#unpack('m') して生成された文字列を C レベルで操作すると末尾に ゴミがついていることがあります。Ruby レベルでは問題ありません。 # STR2CSTR() したものって、'\0' 終端されていると仮定して良いんですよね? というわけでパッチです。 -- 民斗 *** pack.c.orig Tue May 25 17:26:01 1999 --- pack.c Tue Jun 8 01:47:28 1999 *************** *** 1369,1374 **** --- 1369,1375 ---- *ptr++ = a << 2 | b >> 4; *ptr++ = b << 4 | c >> 2; } + *ptr = '\0'; RSTRING(str)->len = ptr - RSTRING(str)->ptr; rb_ary_push(ary, str); }