There is no need for apr_*printf formats to be compatible with OS printf
calls.  We have re-implemented apr_*printf because we needed better
portability.  In reality, that means that we could easily just define a
single set of format strings.

Ryan

On Fri, 27 Apr 2001, Justin Erenkrantz wrote:

> The essence of my original post at:
>
> http://www.apachelabs.org/apr-mbox/200104.mbox/[EMAIL PROTECTED]
>
> was:
>
> Should APR_<FOO>_T_FMT (FOO = INT64, OFF, PID, etc) be compatible
> with the OS printf() calls or should they only work with apr_snprintf?
>
> Solaris printf uses "%lld" for long long, but apr_snprintf doesn't
> recognize that as a valid format string - it uses "%qd".
>
> No one has replied yet.  I've been using the following patch locally
> until a definitive answer is given - this works for me (TM).
>
> Thanks.  -- justin
>
> Index: strings/apr_snprintf.c
> ===================================================================
> RCS file: /home/cvspublic/apr/strings/apr_snprintf.c,v
> retrieving revision 1.14
> diff -u -r1.14 apr_snprintf.c
> --- strings/apr_snprintf.c    2001/04/27 18:36:06     1.14
> +++ strings/apr_snprintf.c    2001/04/28 05:44:18
> @@ -814,6 +814,11 @@
>           else if (*fmt == 'l') {
>               var_type = IS_LONG;
>               fmt++;
> +        if (*fmt == 'l')
> +        {
> +            var_type = IS_QUAD;
> +                 fmt++;
> +        }
>           }
>           else if (*fmt == 'h') {
>               var_type = IS_SHORT;
>
>


_______________________________________________________________________________
Ryan Bloom                              [EMAIL PROTECTED]
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------

Reply via email to