diff --git a/ChangeLog b/ChangeLog index 829e3e5fdc..37a16a91fa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Dec 8 23:34:18 2008 Yuki Sonoda (Yugui) + + * pack.c (pack_pack): fixed odd act of 'm*', 'M*', and 'P*'. + just ignores '*' in these cases. + [ruby-dev:37289] + Mon Dec 8 18:31:41 2008 Nobuyoshi Nakada * pack.c (pack_pack): fixed length for odd length string. diff --git a/pack.c b/pack.c index f353d67c87..d910546a54 100644 --- a/pack.c +++ b/pack.c @@ -491,7 +491,9 @@ pack_pack(VALUE ary, VALUE fmt) } } if (*p == '*') { /* set data length */ - len = strchr("@Xxu", type) ? 0 : items; + len = strchr("@Xxu", type) ? 0 + : strchr("PMm", type) ? 1 + : items; p++; } else if (ISDIGIT(*p)) {