(including, but not limited to, SVs with a UTF-8 PV formatted with %s,
and characters >255 formatted with %c), the original SV might get
upgraded to UTF-8. Handles 'get' magic, but not 'set' magic. See
-C<sv_catpvf_mg>.
+C<sv_catpvf_mg>. If the original SV was UTF-8, the pattern should be
+valid UTF-8; if the original SV was bytes, the pattern should be too.
=cut */
#endif
char esignbuf[4];
- U8 utf8buf[UTF8_MAXLEN+1];
+ U8 utf8buf[UTF8_MAXBYTES+1];
STRLEN esignlen = 0;
char *eptr = Nullch;
fill = *q++;
EXPECT_NUMBER(q, width);
-#ifdef CHECK_FORMAT
- if ((*q == 'p') && left) {
- vectorize = (width == 1);
- }
-#endif
if (vectorize) {
if (vectorarg) {
if (args)
left = FALSE;
if (!width)
goto format_sv; /* %-p -> %_ */
- if (vectorize) {
- width = 0;
- goto format_d; /* %-1p -> %vd */
- }
precis = width;
has_precis = TRUE;
width = 0;
#else
intsize = 'l';
#endif
-#ifdef CHECK_FORMAT
- format_d:
-#endif
/* FALL THROUGH */
case 'd':
case 'i':
* indent-tabs-mode: t
* End:
*
- * vim: expandtab shiftwidth=4:
+ * vim: shiftwidth=4:
*/