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.
--
[email protected] http://www.temme.net/sander/
PGP FP: FC5A 6FC6 2E25 2DFD 8007 EE23 9BB8 63B0 F51B B88A
View my availability: http://tungle.me/sctemme
apr-snprintf.patch
Description: Binary data
