apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sander Temme <san...@temme.net>
Subject [PATCH] %lld support in apr_snprintf()
Date Thu, 04 Nov 2010 18:46:42 GMT
Folks, 

I was seeing test failures on Darwin in both the APR testsuite and httpd perl-framework. 
The %lld sprintf format character was incorrectly parsed, and "%ld" written instead of the
substituted value.  

This small patch against APR trunk fixes that: 

Index: strings/apr_snprintf.c
===================================================================
--- strings/apr_snprintf.c	(revision 1031121)
+++ strings/apr_snprintf.c	(working copy)
@@ -832,6 +832,11 @@
             else if (*fmt == 'l') {
                 var_type = IS_LONG;
                 fmt++;
+                /* Catch the %lld type modifier for long long and its ilk */
+                if (*fmt == 'l') {
+                    var_type = IS_QUAD;
+                    fmt++;
+                }
             }
             else if (*fmt == 'h') {
                 var_type = IS_SHORT;

Thanks, 

S.

-- 
sander@temme.net              http://www.temme.net/sander/
PGP FP: FC5A 6FC6 2E25 2DFD 8007  EE23 9BB8 63B0 F51B B88A

View my availability: http://tungle.me/sctemme

Mime
View raw message