まつもと ゆきひろです.

In message "[ruby-list:2196] [BUG] pack/unpack [Re: [Req] pack/unpack]"
    on 97/02/19, 石塚圭樹 <keiju / shljapan.co.jp> writes:
|けいじゅ@SHLジャパンです. 

|それはいいのですが, pack/unpack関係でバグ?と思われるものを発見しました.

Aなのにaと同じ処理をしていました.

|さらに, unpackはめちゃくちゃです.

スペースの読み飛ばしにバグが残っていますね.

--- pack.c~	Fri Feb  7 17:01:55 1997
+++ pack.c	Wed Feb 19 16:08:04 1997
@@ -150,9 +150,6 @@
 		    while (len >= 10) {
-			if (type == 'A')
-			    str_cat(res, spc10, 10);
-			else
-			    str_cat(res, nul10, 10);
+			str_cat(res, (type == 'A')?spc10:nul10, 10);
 			len -= 10;
 		    }
-		    str_cat(res, nul10, len);
+		    str_cat(res, (type == 'A')?spc10:nul10, len);
 		}
@@ -545,2 +542,3 @@
 	    {
+		int end = len;
 		char *t = s + len - 1;
@@ -552,3 +550,7 @@
 		}
+		ary_push(ary, str_new(s, len));
+		s += end;
 	    }
+	    break;
+
 	  case 'a':