Ingo Schwarze wrote in <20191227212705.gi66...@athene.usta.de>:
 |Hi Doug,
 |
 |Steffen Nurpmeso wrote on Fri, Dec 27, 2019 at 06:45:23PM +0100:
 |
 |> Should be handled by [...]
 |
 |I believe the first patch that got sent to the list is incorrect.
 |
 |The parser in src/pre-pic/pic.y already parses '%%' correctly, so

The parser is total crap and uses two string searches.  It will
not stay that way here.

 |there is no need to change the parsing.  Only the assignment to
 |one_format needs to be corrected.  Besides, the "continue;" that
 |was inserted feels premature; i think appending to "result" at the
 |end of the while loop is still needed.

The patch was correct i would say, and especially avoids going
over a snprintf() call when there is only an escaped format
trigger to handle.  But, despite that, you are absolutely right
about the wording issue.

 |The existing text in doc/pic.ms uses the term "format string"
 |incorrectly.  That's the complete first argument to sprintf(3).
 |Saying that the format string must be "%e" would mean that the
 |argument cannot contain any additional characters.  The correct
 |term for something like "%e" according to the C standard is
 |"conversion specification".  Note that according to the C standard,
 |"%%" is also a conversion specification, so there is no need to
 |describe it using more words.
 |
 |With respect to src/preproc/pic/pic.1.man, "0123456789." are not
 |flags, so let's use a better wording.
 |
 |Doug, thank you for your report.  Could you please test and confirm
 |that this patch fixes all the issues you found?

Thanks.

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

Reply via email to