gh-112301: Use literal format strings in unicode_fromformat_arg#124203
Merged
encukou merged 3 commits intopython:mainfrom Sep 25, 2024
Merged
gh-112301: Use literal format strings in unicode_fromformat_arg#124203encukou merged 3 commits intopython:mainfrom
encukou merged 3 commits intopython:mainfrom
Conversation
Contributor
|
Maybe you should add NEWS. |
Member
This change doesn't impact end users. I don't think that a NEWS entry is needed. |
vstinner
reviewed
Sep 18, 2024
Objects/unicodeobject.c
Outdated
| sprintf(buffer, fmt, va_arg(*vargs, int)) : | ||
| sprintf(buffer, fmt, va_arg(*vargs, unsigned int)); | ||
| break; | ||
| case F_LONG: DO_SPRINTS("l", long, unsigned long) |
Member
There was a problem hiding this comment.
Can you put the break here? Something like:
Suggested change
| case F_LONG: DO_SPRINTS("l", long, unsigned long) | |
| case F_LONG: DO_SPRINTS("l", long, unsigned long); break; |
Member
Author
There was a problem hiding this comment.
OK!
One line is 85 characters now, but I think it's most readable this way.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This switches sprintf format strings in unicode_fromformat_arg to compile-time literals, avoiding
-Wformat-nonliteralwarnings and maybe even allowing optimizing thesprintfcalls.The macros aren't too readable so I'm generous with comments.
(Another option would be code generation, see the first commit.)