This fixes [RT #62874] : printf does not print a warning when a lone %s conversion is used
else if (svix < svmax) {
sv_catsv(sv, *svargs);
}
+ else
+ S_vcatpvfn_missing_argument(aTHX);
return;
}
if (args && patlen == 3 && pat[0] == '%' &&
if (svix < svmax)
nv = SvNV(*svargs);
else
- return;
+ S_vcatpvfn_missing_argument(aTHX);
if (*pp == 'g') {
/* Add check for digits != 0 because it seems that some
gconverts are buggy in this case, and we don't yet have
>%+8.1f< >-1234.875< > -1234.9<
>%*.*f< >[5, 2, 12.3456]< >12.35<
>%f< >0< >0.000000<
+>%.0f< >[]< >0 MISSING<
+> %.0f< >[]< > 0 MISSING<
>%.0f< >0< >0<
>%.0f< >2**38< >274877906944< >Should have exact int'l rep'n<
>%.0f< >0.1< >0<
>%#p< >''< >%#p INVALID<
>%q< >''< >%q INVALID<
>%r< >''< >%r INVALID<
+>%s< >[]< > MISSING<
+> %s< >[]< > MISSING<
>%s< >'string'< >string<
>%10s< >'string'< > string<
>%+10s< >'string'< > string<