[PATCH] notmuch-show: use correct format specifier for ssize_t

classic Classic list List threaded Threaded
5 messages Options
Đoàn Trần Công Danh Đoàn Trần Công Danh
Reply | Threaded
Open this post in threaded view
|

[PATCH] notmuch-show: use correct format specifier for ssize_t

Signed-off-by: Đoàn Trần Công Danh <[hidden email]>
---

 I found this after inspecting one of my build today.
 I'm not sure what is acceptable action.
 I think using %zd is the right move.
 But I'm not sure if you prefer to case ssize to long int.

 notmuch-show.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/notmuch-show.c b/notmuch-show.c
index dd836add..c0498c66 100644
--- a/notmuch-show.c
+++ b/notmuch-show.c
@@ -909,7 +909,7 @@ format_part_raw (unused (const void *ctx), unused (sprinter_t *sp),
     }
 
     if (ssize > 0 && fwrite (buf, ssize, 1, stdout) != 1) {
- fprintf (stderr, "Error: Write %ld chars to stdout failed\n", ssize);
+ fprintf (stderr, "Error: Write %zd chars to stdout failed\n", ssize);
  goto DONE;
     }
  }
--
2.30.0
_______________________________________________
notmuch mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]
David Bremner-2 David Bremner-2
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] notmuch-show: use correct format specifier for ssize_t

Đoàn Trần Công Danh <[hidden email]> writes:

> Signed-off-by: Đoàn Trần Công Danh <[hidden email]>
> ---
>
>  I found this after inspecting one of my build today.
>  I'm not sure what is acceptable action.
>  I think using %zd is the right move.
>  But I'm not sure if you prefer to case ssize to long int.
>

If I understand correctly %zd is glibc specific? Is there a more portable way
to do this? Maybe that's what you meant by the cast.
_______________________________________________
notmuch mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]
Tomi Ollila-2 Tomi Ollila-2
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] notmuch-show: use correct format specifier for ssize_t

On Mon, Feb 01 2021, David Bremner wrote:

> Đoàn Trần Công Danh <[hidden email]> writes:
>
>> Signed-off-by: Đoàn Trần Công Danh <[hidden email]>
>> ---
>>
>>  I found this after inspecting one of my build today.
>>  I'm not sure what is acceptable action.
>>  I think using %zd is the right move.
>>  But I'm not sure if you prefer to case ssize to long int.
>>
>
> If I understand correctly %zd is glibc specific? Is there a more portable way
> to do this? Maybe that's what you meant by the cast.

printf(3) is not too clear about that, In one place I understand
%z is "SUSv3" compatible (what that says is something vague, perhaps just
post C99), and in one place it says glibc 2.1 adds support for 'z' (but
perhaps since it is in standard already)

Anyway, based on that I'd say %zd is standard compliant enough.

Tomi
_______________________________________________
notmuch mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]
David Bremner-2 David Bremner-2
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] notmuch-show: use correct format specifier for ssize_t

In reply to this post by Đoàn Trần Công Danh
Đoàn Trần Công Danh <[hidden email]> writes:

> Signed-off-by: Đoàn Trần Công Danh <[hidden email]>

applied to master

d
_______________________________________________
notmuch mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]
Đoàn Trần Công Danh Đoàn Trần Công Danh
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] notmuch-show: use correct format specifier for ssize_t

In reply to this post by Tomi Ollila-2
On 2021-02-02 19:52:20+0200, Tomi Ollila <[hidden email]> wrote:

> On Mon, Feb 01 2021, David Bremner wrote:
>
> > Đoàn Trần Công Danh <[hidden email]> writes:
> >
> >> Signed-off-by: Đoàn Trần Công Danh <[hidden email]>
> >> ---
> >>
> >>  I found this after inspecting one of my build today.
> >>  I'm not sure what is acceptable action.
> >>  I think using %zd is the right move.
> >>  But I'm not sure if you prefer to case ssize to long int.
> >>
> >
> > If I understand correctly %zd is glibc specific? Is there a more portable way
> > to do this? Maybe that's what you meant by the cast.
>
> printf(3) is not too clear about that, In one place I understand
> %z is "SUSv3" compatible (what that says is something vague, perhaps just
> post C99), and in one place it says glibc 2.1 adds support for 'z' (but
> perhaps since it is in standard already)

Sorry for my late reply.
Yes %z is standard compliant, it's available from at least C99.
POSIX talks about it somewhere around that period
https://pubs.opengroup.org/onlinepubs/009695399/functions/fprintf.html

--
Danh
_______________________________________________
notmuch mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]