urldata: convert 'long' fields to fixed variable types#20227
Closed
urldata: convert 'long' fields to fixed variable types#20227
Conversation
icing
reviewed
Jan 9, 2026
bagder
added a commit
that referenced
this pull request
Jan 9, 2026
Makes sure they work identically cross-platform, as long varies in size between Windows vs non-Windows. Makes Curl_easy 16 bytes smaller on 64 bit Linux. This reduces support for the RTSP cseq counters to 32 bit (down from 63 bit previously on 64 bit non-Windows), but it is probably safe. Implementations probably rarely support anything above 32 bits anyway and this is how curl has worked on Windows since always. There is now only one 'long' left in urldata.h (in the ssl_config_data struct). That field, certverifyresult, is used to store the response code from TLS backend code and in the OpenSSL case that function returns an actual 'long'. Closes #20227
997427c to
b2dfa27
Compare
|
Analysis of PR #20227 at b276df6f: Test 570 failed, which has NOT been flaky recently, so there could be a real issue in this PR. Note that this test has failed in 60 different CI jobs (the link just goes to one of them). Generated by Testclutch |
Makes sure they work identically cross-platform, as long varies in size between Windows vs non-Windows. Makes Curl_easy 16 bytes smaller on 64 bit Linux. This reduces support for the RTSP cseq counters to 32 bit (down from 63 bit previously on 64 bit non-Windows), but it is probably safe. Implementations probably rarely support anything above 32 bits anyway and this is how curl has worked on Windows since always. There is now only one 'long' left in urldata.h (in the ssl_config_data struct). That field, certverifyresult, is used to store the response code from TLS backend code and in the OpenSSL case that function returns an actual 'long'. Closes #20227
e28aaca to
d371a52
Compare
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.
Makes sure they work identically cross-platform, as long varies in size
between Windows vs non-Windows. Makes Curl_easy 16 bytes smaller on 64
bit Linux.
This reduces support for the RTSP cseq counters to 32 bit (down from 63
bit previously on 64 bit non-Windows), but it is probably safe.
Implementations probably rarely support anything above 32 bits anyway
and this is how curl has worked on Windows since always.
There is now only one 'long' left in urldata.h (in the ssl_config_data
struct). That field, certverifyresult, is used to store the response
code from TLS backend code and in the OpenSSL case that function returns
an actual 'long'.