urldata: shrink *select_bits int => unsigned char

- dselect_bits
- cselect_bits

... are using less than 8 bits. Changed types and moved them towards
the end of the structs to fit better.

Closes #11025
This commit is contained in:
Daniel Stenberg 2023-04-25 18:04:46 +02:00
parent acd82c8bfd
commit 65f03e507f
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
6 changed files with 16 additions and 16 deletions

View File

@ -193,7 +193,7 @@ static void drain_stream(struct Curl_cfilter *cf,
struct Curl_easy *data, struct Curl_easy *data,
struct stream_ctx *stream) struct stream_ctx *stream)
{ {
int bits; unsigned char bits;
(void)cf; (void)cf;
bits = CURL_CSELECT_IN; bits = CURL_CSELECT_IN;

View File

@ -3222,7 +3222,7 @@ static CURLMcode multi_socket(struct Curl_multi *multi,
if(data->conn && !(data->conn->handler->flags & PROTOPT_DIRLOCK)) if(data->conn && !(data->conn->handler->flags & PROTOPT_DIRLOCK))
/* set socket event bitmask if they're not locked */ /* set socket event bitmask if they're not locked */
data->conn->cselect_bits = ev_bitmask; data->conn->cselect_bits = (unsigned char)ev_bitmask;
Curl_expire(data, 0, EXPIRE_RUN_NOW); Curl_expire(data, 0, EXPIRE_RUN_NOW);
} }

View File

@ -1049,7 +1049,6 @@ struct connectdata {
wrong connections. */ wrong connections. */
char *localdev; char *localdev;
unsigned short localportrange; unsigned short localportrange;
int cselect_bits; /* bitmask of socket events */
int waitfor; /* current READ/WRITE bits to wait for */ int waitfor; /* current READ/WRITE bits to wait for */
#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI) #if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
int socks5_gssapi_enctype; int socks5_gssapi_enctype;
@ -1065,6 +1064,7 @@ struct connectdata {
unsigned short localport; unsigned short localport;
unsigned short secondary_port; /* secondary socket remote port to connect to unsigned short secondary_port; /* secondary socket remote port to connect to
(ftp) */ (ftp) */
unsigned char cselect_bits; /* bitmask of socket events */
unsigned char alpn; /* APLN TLS negotiated protocol, a CURL_HTTP_VERSION* unsigned char alpn; /* APLN TLS negotiated protocol, a CURL_HTTP_VERSION*
value */ value */
#ifndef CURL_DISABLE_PROXY #ifndef CURL_DISABLE_PROXY
@ -1319,8 +1319,6 @@ struct UrlState {
char *scratch; /* huge buffer[set.buffer_size*2] for upload CRLF replacing */ char *scratch; /* huge buffer[set.buffer_size*2] for upload CRLF replacing */
long followlocation; /* redirect counter */ long followlocation; /* redirect counter */
int requests; /* request counter: redirects + authentication retakes */ int requests; /* request counter: redirects + authentication retakes */
int dselect_bits; /* != 0 -> bitmask of socket events for this transfer
* overriding anything the socket may report */
#ifdef HAVE_SIGNAL #ifdef HAVE_SIGNAL
/* storage for the previous bag^H^H^HSIGPIPE signal handler :-) */ /* storage for the previous bag^H^H^HSIGPIPE signal handler :-) */
void (*prev_signal)(int sig); void (*prev_signal)(int sig);
@ -1346,11 +1344,6 @@ struct UrlState {
/* a place to store the most recently set (S)FTP entrypath */ /* a place to store the most recently set (S)FTP entrypath */
char *most_recent_ftp_entrypath; char *most_recent_ftp_entrypath;
unsigned char httpwant; /* when non-zero, a specific HTTP version requested
to be used in the library's request(s) */
unsigned char httpversion; /* the lowest HTTP version*10 reported by any
server involved in this request */
#if !defined(WIN32) && !defined(MSDOS) && !defined(__EMX__) #if !defined(WIN32) && !defined(MSDOS) && !defined(__EMX__)
/* do FTP line-end conversions on most platforms */ /* do FTP line-end conversions on most platforms */
#define CURL_DO_LINEEND_CONV #define CURL_DO_LINEEND_CONV
@ -1383,8 +1376,6 @@ struct UrlState {
void *in; /* CURLOPT_READDATA */ void *in; /* CURLOPT_READDATA */
CURLU *uh; /* URL handle for the current parsed URL */ CURLU *uh; /* URL handle for the current parsed URL */
struct urlpieces up; struct urlpieces up;
unsigned char httpreq; /* Curl_HttpReq; what kind of HTTP request (if any)
is this */
char *url; /* work URL, copied from UserDefined */ char *url; /* work URL, copied from UserDefined */
char *referer; /* referer string */ char *referer; /* referer string */
struct curl_slist *resolve; /* set to point to the set.resolve list when struct curl_slist *resolve; /* set to point to the set.resolve list when
@ -1425,6 +1416,15 @@ struct UrlState {
char *proxypasswd; char *proxypasswd;
} aptr; } aptr;
unsigned char httpwant; /* when non-zero, a specific HTTP version requested
to be used in the library's request(s) */
unsigned char httpversion; /* the lowest HTTP version*10 reported by any
server involved in this request */
unsigned char httpreq; /* Curl_HttpReq; what kind of HTTP request (if any)
is this */
unsigned char dselect_bits; /* != 0 -> bitmask of socket events for this
transfer overriding anything the socket may
report */
#ifdef CURLDEBUG #ifdef CURLDEBUG
BIT(conncache_lock); BIT(conncache_lock);
#endif #endif

View File

@ -192,7 +192,7 @@ static void h3_data_done(struct Curl_cfilter *cf, struct Curl_easy *data)
static void drain_stream_from_other_thread(struct Curl_easy *data, static void drain_stream_from_other_thread(struct Curl_easy *data,
struct stream_ctx *stream) struct stream_ctx *stream)
{ {
int bits; unsigned char bits;
/* risky */ /* risky */
bits = CURL_CSELECT_IN; bits = CURL_CSELECT_IN;
@ -208,7 +208,7 @@ static void drain_stream(struct Curl_cfilter *cf,
struct Curl_easy *data) struct Curl_easy *data)
{ {
struct stream_ctx *stream = H3_STREAM_CTX(data); struct stream_ctx *stream = H3_STREAM_CTX(data);
int bits; unsigned char bits;
(void)cf; (void)cf;
bits = CURL_CSELECT_IN; bits = CURL_CSELECT_IN;

View File

@ -994,7 +994,7 @@ static void drain_stream(struct Curl_cfilter *cf,
struct Curl_easy *data) struct Curl_easy *data)
{ {
struct stream_ctx *stream = H3_STREAM_CTX(data); struct stream_ctx *stream = H3_STREAM_CTX(data);
int bits; unsigned char bits;
(void)cf; (void)cf;
bits = CURL_CSELECT_IN; bits = CURL_CSELECT_IN;

View File

@ -303,7 +303,7 @@ static void drain_stream(struct Curl_cfilter *cf,
struct Curl_easy *data) struct Curl_easy *data)
{ {
struct stream_ctx *stream = H3_STREAM_CTX(data); struct stream_ctx *stream = H3_STREAM_CTX(data);
int bits; unsigned char bits;
(void)cf; (void)cf;
bits = CURL_CSELECT_IN; bits = CURL_CSELECT_IN;