From: Eli Zaretskii <eliz@gnu.org>
To: Ken Brown <kbrown@cornell.edu>
Cc: 32189@debbugs.gnu.org
Subject: bug#32189: 27.0.50; GCC 7 warning due to -Wformat-truncation=2
Date: Wed, 18 Jul 2018 18:09:32 +0300 [thread overview]
Message-ID: <83601c4m37.fsf@gnu.org> (raw)
In-Reply-To: <031d18cf-e661-6dea-8882-38d75924d0d4@cornell.edu> (message from Ken Brown on Tue, 17 Jul 2018 15:26:34 -0400)
> From: Ken Brown <kbrown@cornell.edu>
> Date: Tue, 17 Jul 2018 15:26:34 -0400
>
> I'm getting the following warning when building the master branch on
> Cygwin with GCC 7.3:
>
> In file included from /usr/include/stdio.h:800:0,
> from ../lib/stdio.h:43,
> from ../../master/src/w32cygwinx.c:22:
> ../../master/src/w32cygwinx.c: In function ‘Fw32_battery_status’:
> ../../master/src/w32cygwinx.c:116:26: warning: ‘%3.1f’ directive output
> may be truncated writing between 3 and 312 bytes into a region of size
> 16 [-Wformat-truncation=]
> snprintf (buffer, 16, "%3.1f", h);
> ^
> ../../master/src/w32cygwinx.c:116:4: note: ‘__builtin_snprintf’ output
> between 4 and 313 bytes into a destination of size 16
> snprintf (buffer, 16, "%3.1f", h);
> ^
Do we really need to use -Wformat-truncation? Is it a useful warning
switch? The above sounds like useless noise, because the code
explicitly _asks_ for truncation. What do people think about this?
> The attached patch avoids the warning. Is this a reasonable fix, or is
> there a better way?
I think if we keep the switch, a better fix is to do this:
snprintf (buffer, 16, "%ld", h % 1000000);
m = seconds_left / 60;
snprintf (buffer, 16, "%ld", m % 20000);
etc., you get the point.
Thanks.
next prev parent reply other threads:[~2018-07-18 15:09 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-17 19:26 bug#32189: 27.0.50; GCC 7 warning due to -Wformat-truncation=2 Ken Brown
2018-07-18 15:09 ` Eli Zaretskii [this message]
2018-07-18 19:42 ` Ken Brown
2018-07-19 2:38 ` Eli Zaretskii
2018-07-19 6:10 ` Philipp Stephani
2018-07-19 12:49 ` Ken Brown
2018-07-19 13:25 ` Eli Zaretskii
2018-07-19 6:21 ` Philipp Stephani
2018-07-19 13:29 ` Eli Zaretskii
2018-07-19 13:56 ` Ken Brown
2018-07-19 14:17 ` Eli Zaretskii
2018-07-19 23:19 ` Paul Eggert
2018-07-20 6:56 ` Eli Zaretskii
2018-07-20 13:49 ` Ken Brown
2018-07-20 14:17 ` Eli Zaretskii
2018-07-20 14:27 ` Ken Brown
2018-07-20 14:37 ` Paul Eggert
2018-07-20 14:51 ` Eli Zaretskii
2018-07-20 19:34 ` Ken Brown
2018-07-20 21:03 ` Paul Eggert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83601c4m37.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=32189@debbugs.gnu.org \
--cc=kbrown@cornell.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).