summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2023-04-25 18:04:46 +0200
committerDaniel Stenberg <daniel@haxx.se>2023-04-26 23:36:45 +0200
commit65f03e507f7eece690a0e6a05ab6f0408dbcbcb2 (patch)
tree815aa82a8f789e2acdd0be94d592401b85b32b02
parentacd82c8bfd743d0f743a1c1296890738832ac83e (diff)
downloadcurl-65f03e507f7eece690a0e6a05ab6f0408dbcbcb2.tar.gz
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
-rw-r--r--lib/http2.c2
-rw-r--r--lib/multi.c2
-rw-r--r--lib/urldata.h20
-rw-r--r--lib/vquic/curl_msh3.c4
-rw-r--r--lib/vquic/curl_ngtcp2.c2
-rw-r--r--lib/vquic/curl_quiche.c2
6 files changed, 16 insertions, 16 deletions
diff --git a/lib/http2.c b/lib/http2.c
index 62eed3c35..4ce618a5b 100644
--- a/lib/http2.c
+++ b/lib/http2.c
@@ -193,7 +193,7 @@ static void drain_stream(struct Curl_cfilter *cf,
struct Curl_easy *data,
struct stream_ctx *stream)
{
- int bits;
+ unsigned char bits;
(void)cf;
bits = CURL_CSELECT_IN;
diff --git a/lib/multi.c b/lib/multi.c
index 0be8d0c40..441435628 100644
--- a/lib/multi.c
+++ b/lib/multi.c
@@ -3222,7 +3222,7 @@ static CURLMcode multi_socket(struct Curl_multi *multi,
if(data->conn && !(data->conn->handler->flags & PROTOPT_DIRLOCK))
/* 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);
}
diff --git a/lib/urldata.h b/lib/urldata.h
index d93ee9706..f02e66541 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -1049,7 +1049,6 @@ struct connectdata {
wrong connections. */
char *localdev;
unsigned short localportrange;
- int cselect_bits; /* bitmask of socket events */
int waitfor; /* current READ/WRITE bits to wait for */
#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
int socks5_gssapi_enctype;
@@ -1065,6 +1064,7 @@ struct connectdata {
unsigned short localport;
unsigned short secondary_port; /* secondary socket remote port to connect to
(ftp) */
+ unsigned char cselect_bits; /* bitmask of socket events */
unsigned char alpn; /* APLN TLS negotiated protocol, a CURL_HTTP_VERSION*
value */
#ifndef CURL_DISABLE_PROXY
@@ -1319,8 +1319,6 @@ struct UrlState {
char *scratch; /* huge buffer[set.buffer_size*2] for upload CRLF replacing */
long followlocation; /* redirect counter */
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
/* storage for the previous bag^H^H^HSIGPIPE signal handler :-) */
void (*prev_signal)(int sig);
@@ -1346,11 +1344,6 @@ struct UrlState {
/* a place to store the most recently set (S)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__)
/* do FTP line-end conversions on most platforms */
#define CURL_DO_LINEEND_CONV
@@ -1383,8 +1376,6 @@ struct UrlState {
void *in; /* CURLOPT_READDATA */
CURLU *uh; /* URL handle for the current parsed URL */
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 *referer; /* referer string */
struct curl_slist *resolve; /* set to point to the set.resolve list when
@@ -1425,6 +1416,15 @@ struct UrlState {
char *proxypasswd;
} 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
BIT(conncache_lock);
#endif
diff --git a/lib/vquic/curl_msh3.c b/lib/vquic/curl_msh3.c
index 7d23f9f5b..438a60d47 100644
--- a/lib/vquic/curl_msh3.c
+++ b/lib/vquic/curl_msh3.c
@@ -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,
struct stream_ctx *stream)
{
- int bits;
+ unsigned char bits;
/* risky */
bits = CURL_CSELECT_IN;
@@ -208,7 +208,7 @@ static void drain_stream(struct Curl_cfilter *cf,
struct Curl_easy *data)
{
struct stream_ctx *stream = H3_STREAM_CTX(data);
- int bits;
+ unsigned char bits;
(void)cf;
bits = CURL_CSELECT_IN;
diff --git a/lib/vquic/curl_ngtcp2.c b/lib/vquic/curl_ngtcp2.c
index 6eee431cc..c76c67444 100644
--- a/lib/vquic/curl_ngtcp2.c
+++ b/lib/vquic/curl_ngtcp2.c
@@ -994,7 +994,7 @@ static void drain_stream(struct Curl_cfilter *cf,
struct Curl_easy *data)
{
struct stream_ctx *stream = H3_STREAM_CTX(data);
- int bits;
+ unsigned char bits;
(void)cf;
bits = CURL_CSELECT_IN;
diff --git a/lib/vquic/curl_quiche.c b/lib/vquic/curl_quiche.c
index e32cc366d..ff3f8f4ec 100644
--- a/lib/vquic/curl_quiche.c
+++ b/lib/vquic/curl_quiche.c
@@ -303,7 +303,7 @@ static void drain_stream(struct Curl_cfilter *cf,
struct Curl_easy *data)
{
struct stream_ctx *stream = H3_STREAM_CTX(data);
- int bits;
+ unsigned char bits;
(void)cf;
bits = CURL_CSELECT_IN;