From: "とみたまさひろ" Date: 2006-04-25T00:26:00+09:00 Subject: [ruby-dev:28601] unpack("M") とみたです。 バグか仕様かはわからないんですが、改行コードが CRLF の時に unpack("M") がちゃんと働きません。 % ruby -ve 'puts "aaa=\nbbb".unpack("M")' ruby 1.8.4 (2005-12-24) [i686-linux] aaabbb % ruby -ve 'puts "aaa=\r\nbbb".unpack("M")' ruby 1.8.4 (2005-12-24) [i686-linux] aaa unpack("m") は CRLF でも問題ないので対応した方が良いと思うのですが、 いかがでしょうか。 --- pack.c.orig 2005-10-13 23:30:49.000000000 +0900 +++ pack.c 2006-04-25 00:21:15.000000000 +0900 @@ -1834,6 +1834,8 @@ while (s < send) { if (*s == '=') { if (++s == send) break; + if (s+1 < send && *s == '\r' && *(s+1) == '\n') + s++; if (*s != '\n') { if ((c1 = hex2num(*s)) == -1) break; if (++s == send) break; -- とみたまさひろ 3469 42CC 4D32 F53C AD98 65A5 8C37 FF09 69C1 6040