In perl.git, the branch nicholas/microperl has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/2c9b7a2f7042ead3b7e517dc10b085c938a505b4?hp=22e32a1fe5684941fd3dfbec8631c680f192fc6a>

- Log -----------------------------------------------------------------
commit 2c9b7a2f7042ead3b7e517dc10b085c938a505b4
Author: Nicholas Clark <[email protected]>
Date:   Wed Mar 23 12:18:20 2011 +0000

    Fix *printf %ld handling for microperl (and other obscure platforms)
    
    07208e09d4435b4e accidentally moved the implicit q = q + 1 into 
conditionally
    compiled code, which is compiled most everywhere else, except miniperl. 
Without
    the increment of q, formats such as 'ld' were not being recognised as 
formats.
    This was noticed because the tokeniser implements __LINE__ by converting to 
a
    string using %ld.
-----------------------------------------------------------------------

Summary of changes:
 sv.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/sv.c b/sv.c
index 9351076..9ea0b50 100644
--- a/sv.c
+++ b/sv.c
@@ -10375,8 +10375,9 @@ Perl_sv_vcatpvfn(pTHX_ SV *const sv, const char *const 
pat, const STRLEN patlen,
            break;
 #endif
        case 'l':
+           ++q;
 #if defined(HAS_QUAD) || defined(HAS_LONG_DOUBLE)
-           if (*++q == 'l') {  /* lld, llf */
+           if (*q == 'l') {    /* lld, llf */
                intsize = 'q';
                ++q;
            }

--
Perl5 Master Repository

Reply via email to