-
Notifications
You must be signed in to change notification settings - Fork 246
Simplify string handling #1048
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
alejandro-colomar
wants to merge
2
commits into
shadow-maint:master
Choose a base branch
from
alejandro-colomar:string
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Simplify string handling #1048
Conversation
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
01ff60f
to
812cbae
Compare
812cbae
to
4d80b61
Compare
4d80b61
to
1eb75b3
Compare
1eb75b3
to
a719bc3
Compare
This comment was marked as resolved.
This comment was marked as resolved.
a719bc3
to
ad52f5f
Compare
ad52f5f
to
5b35729
Compare
ffdf778
to
afd0b32
Compare
@hallyn would you need me to split this PR into smaller chunks for making it easier for you to review? Or any other change you'd like to see? Maybe strtok=>strsep is a large change, less trivial than the previous ones, and I should split right before the strtok changes. |
Let's queue this after #1085 |
be7b302
to
a4838e6
Compare
This was referenced Oct 14, 2024
5f396fe
to
aa3f0f9
Compare
b2ffdd6
to
14fec0c
Compare
18a7c7d
to
5c3f570
Compare
5c3f570
to
6d7ddd6
Compare
6800e91
to
e7cd55d
Compare
e7cd55d
to
d174814
Compare
e3338be
to
e7b2421
Compare
e7b2421
to
888cf1d
Compare
888cf1d
to
ec047be
Compare
f86fcfb
to
c4f58fd
Compare
Closed
c7863c7
to
86f8397
Compare
4a514b5
to
2dde1ab
Compare
This is simpler to read, IMO. Signed-off-by: Alejandro Colomar <[email protected]>
While the return value is a pointer, it can be interpreted as a boolean value meaning "found". In general, we use explicit comparisons of pointers to NULL, but in this specific case, let's use that interpretation, and make an exception, using an implicit conversion to boolean. For negative matches, use if (!strchr(...)) For positive matches, use if (strchr(...)) For positive matches, when a variable is also set, use while (NULL != (p = strchr(...))) Signed-off-by: Alejandro Colomar <[email protected]>
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.
Among other things, remove most uses of strtok(3). Replace its calls by strsep(3), which is stateless.
This probably silently fixes some bugs, where two separators were being merged as the same one.
Also, that's the reason why I didn't replace all strtok(3) calls. In some cases (paths), it makes sense to merge adjacent
//
.Revisions:
v1b
v1c
v1d
v2
v2b
v2c
v2d
v2e
v3
v3b
v3c
v3d
v3e
v3f
v4
v4b
v4c
v4d
v4e
v4f
v4g
v4h
v5
v5b
v6
v6b
v6c
v6d
v6e
v6f
v6g
v6h
v7
v7b
v7c
v7d
v7e
v7f
v7g
v7h
v7i
v7j
v7k
v7l
v7m
v7n
v7o
v7p
v7q
v7r
v7s
v7t
v8
v8b
v8c