Sherif,

You're right. It does break BC, but this was a bug fix.
> https://bugs.php.net/bug.php?id=61038
>
> The behavior is incorrect in that regard.
>

However in this case that *bug* does have fairly significant BC
implications.

In fact, how I read the specification is that the original binary format is
NULL padded, not the resulting string. Therefore, you could make the
argument that the new behavior is wrong.

In any case, I'd suggest reverting the "bug fix" for "a", and then adding Z
which keeps the raw bytes. So that way the "bug" would be fixed by the "Z"
parameter, but "a" would still behave as it always has (allowing things
like Archive_Tar to still work properly).

Otherwise it's a BC break that has weird implications (having different
format specifications for 5.4 and 5.5, or requiring odd things like running
trim on the output...

My $0.02...

Anthony

Reply via email to