[Freeipa-devel] [PATCH] extop: For printf formatting warning
Lukas Slebodnik
lslebodn at redhat.com
Thu Mar 26 18:40:16 UTC 2015
On (18/03/15 12:33), Jakub Hrozek wrote:
>On Wed, Mar 18, 2015 at 11:39:15AM +0100, Sumit Bose wrote:
>> On Wed, Mar 18, 2015 at 11:25:14AM +0100, Jakub Hrozek wrote:
>> > I could swear I sent the patch last time when I was reviewing Sumit's
>> > patches but apparently not.
>> >
>> > It's better to use %zu instead of %d for size_t formatting with recent
>> > compilers.
>>
>> > >From a088e8c8a9bd29b4c22f1579f2c3705652bf2730 Mon Sep 17 00:00:00 2001
>> > From: Jakub Hrozek <jhrozek at redhat.com>
>> > Date: Wed, 18 Mar 2015 11:20:38 +0100
>> > Subject: [PATCH] extop: For printf formatting warning
>> >
>> > ---
>> > daemons/ipa-slapi-plugins/ipa-extdom-extop/ipa_extdom_extop.c | 2 +-
>> > 1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/daemons/ipa-slapi-plugins/ipa-extdom-extop/ipa_extdom_extop.c b/daemons/ipa-slapi-plugins/ipa-extdom-extop/ipa_extdom_extop.c
>> > index 708d0e4a2fc9da4f87a24a49c945587049f7280f..bc25e7643cdebe0eadc0cee4dcba3a392fdc33be 100644
>> > --- a/daemons/ipa-slapi-plugins/ipa-extdom-extop/ipa_extdom_extop.c
>> > +++ b/daemons/ipa-slapi-plugins/ipa-extdom-extop/ipa_extdom_extop.c
>> > @@ -200,7 +200,7 @@ static int ipa_extdom_init_ctx(Slapi_PBlock *pb, struct ipa_extdom_ctx **_ctx)
>> > if (ctx->max_nss_buf_size == 0) {
>> > ctx->max_nss_buf_size = DEFAULT_MAX_NSS_BUFFER;
>> > }
>> > - LOG("Maximal nss buffer size set to [%d]!\n", ctx->max_nss_buf_size);
>> > + LOG("Maximal nss buffer size set to [%zu]!\n", ctx->max_nss_buf_size);
>>
>> I tried this some time ago and found the here not the glibc printf
>> version is used but I guess some NSPR implementation which does not
>> support the z specifier. So I would assum that this is not working as
>> expected. Have you tried to trigger the error message or called LOG
>> unconditionally with '%zu' ?
>
>No, I only tried compiling the code. I haven't expected non-standard
>printf to be used. sorry.
>
>Then what about casting max_nss_buf_size to something large that the NSPR
>implementation can handle (unsigned long?)
>
You can use th modifier "j" and cast to uintmax_t or intmax_t
man 3 printf says:
j A following integer conversion corresponds to an intmax_t or
uintmax_t argument, or a following n conversion corresponds to a
pointer to an intmax_t argument.
LS
More information about the Freeipa-devel
mailing list