public inbox for ecos-bugs@sourceware.org
help / color / mirror / Atom feed
From: bugzilla-daemon@bugs.ecos.sourceware.org
To: ecos-bugs@ecos.sourceware.org
Subject: [Bug 1001628] New: %g printf format prints more digits than expected
Date: Tue, 24 Jul 2012 17:43:00 -0000	[thread overview]
Message-ID: <bug-1001628-13@http.bugs.ecos.sourceware.org/> (raw)

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001628

           Summary: %g printf format prints more digits than expected
           Product: eCos
           Version: CVS
          Platform: All
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: low
         Component: C library
        AssignedTo: unassigned@bugs.ecos.sourceware.org
        ReportedBy: bernd.edlinger@hotmail.de
                CC: ecos-bugs@ecos.sourceware.org
             Class: Advice Request


Created an attachment (id=1841)
 --> (http://bugs.ecos.sourceware.org/attachment.cgi?id=1841)
a proposed patch to fix this defect

when a printf format like "%.7g" is used, you would expect
to see at most 7 valid decimals. But if the value is very close
to an integer like (float)5.000123 the output may look like "5.000123xxxx"
with xxxx = 4 additional digits which contain only rounding errors.
The correct output would be "5.000123", which is 7 valid digits.

The reason is in "language/c/libc/stdio/current/src/output/vfnprintf.cxx",
where the loop termination assumes the number of leading digits (in expcnt)
to be zero, which is not always the case however.

To fix this use the attached patch file.
The patch also introduces an additional test case in
"language/c/libc/stdio/current/tests/sprintf2.c",
which will only succeed when the printf format is output correctly.

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


             reply	other threads:[~2012-07-24 17:43 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-24 17:43 bugzilla-daemon [this message]
2012-07-25  8:07 ` [Bug 1001628] " bugzilla-daemon
2012-08-08  7:06 ` bugzilla-daemon
2012-08-11  6:28 ` bugzilla-daemon
  -- strict thread matches above, loose matches on Subject: below --
2012-07-24 17:43 [Bug 1001628] New: " bugzilla-daemon

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-1001628-13@http.bugs.ecos.sourceware.org/ \
    --to=bugzilla-daemon@bugs.ecos.sourceware.org \
    --cc=ecos-bugs@ecos.sourceware.org \
    /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.
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).