while (len--) {
symptr->patptr = savsym.grpbeg;
unpack_rec(symptr, ss, strbeg, strend, &ss );
+ if (savsym.flags & FLAG_UNPACK_DO_UTF8)
+ symptr->flags |= FLAG_UNPACK_DO_UTF8;
+ else
+ symptr->flags &= ~FLAG_UNPACK_DO_UTF8;
if (ss == strend && savsym.howlen == e_star)
break; /* No way to continue */
}
my $no_signedness = $] > 5.009 ? '' :
"Signed/unsigned pack modifiers not available on this perl";
-plan tests => 13857;
+plan tests => 13859;
use strict;
use warnings;
# verify that the checksum is not overflowed with C0
is(unpack("C0%128U", "abcd"), unpack("U0%128U", "abcd"), "checksum not overflowed");
}
+
+{
+ # U0 and C0 must be scoped
+ my (@x) = unpack("a(U0)U", "b\341\277\274");
+ is($x[0], 'b', 'before scope');
+ is($x[1], 225, 'after scope');
+}