if (itemsize) {
STRLEN to_copy = itemsize;
const char *const send = s + len;
- const U8 *source;
+ const U8 *source = (const U8 *) s;
U8 *tmp = NULL;
gotsome = TRUE;
}
}
if (targ_is_utf8 && !item_is_utf8) {
- source = tmp = bytes_to_utf8((U8*)SvPVX(sv), &to_copy);
+ source = tmp = bytes_to_utf8(source, &to_copy);
SvCUR_set(PL_formtarget,
t - SvPVX_const(PL_formtarget));
} else {
SvCUR_set(PL_formtarget,
t - SvPVX_const(PL_formtarget));
}
- source = (U8 *) SvPVX(sv);
/* Easy. They agree. */
assert (item_is_utf8 == targ_is_utf8);
my $bas_tests = 20;
# number of tests in section 3
-my $bug_tests = 4 + 3 * 3 * 5 * 2 * 3;
+my $bug_tests = 4 + 3 * 3 * 5 * 2 * 3 + 2;
# number of tests in section 4
my $hmb_tests = 35;
}
}
+{
+ # This will fail an assertion in 5.10.0 built with -DDEBUGGING (because
+ # pp_formline attempts to set SvCUR() on an SVt_RV). I suspect that it will
+ # be doing something similarly out of bounds on everything from 5.000
+ my $ref = [];
+ is swrite('>^*<', $ref), ">$ref<";
+ is swrite('>@*<', $ref), ">$ref<";
+}
+
format EMPTY =
.