Branch: refs/heads/hv/gh19010-rebase Home: https://github.com/Perl/perl5 Commit: 09a2c5b3ff14532fb65623bb460b1c5659e942e9 https://github.com/Perl/perl5/commit/09a2c5b3ff14532fb65623bb460b1c5659e942e9 Author: Hugo van der Sanden <h...@crypt.org> Date: 2022-03-04 (Fri, 04 Mar 2022)
Changed paths: M ext/XS-APItest/t/grok.t M numeric.c Log Message: ----------- gh19010: fix returns for Perl_grok_infnan Consistently honour what the docs have always promised: If an infinity or a not-a-number is recognized, C<*sp> will point to one byte past the end of the recognized string. If the recognition fails, zero is returned, and C<*sp> will not move. Additionally, restore Perl_grok_number_flags to allowing inf/nan with trailing garbage only when called with PERL_SCAN_TRAILING; add notes to the other two core callers to clarify that they always accept such trailing garbage. Whitespace handling is regularized: trailing whitespace after anything successfully parsed is always accepted, and does not trigger setting IS_NUMBER_TRAILING. A small number of XS-APItest tests were modified to reflect the stricter behaviour: "Infin" and "nanx" are now invalid without PERL_SCAN_TRAILING. An additional inconsistency (GH #19464) is commented in the tests but not addressed here.