From: Patrick Monnerat Date: Thu, 22 Sep 2022 13:27:04 +0000 (+0200) Subject: lib: prepare the incoming of additional protocols X-Git-Tag: curl-7_86_0~170 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=91e06e687a3f2cd96b088ada5640fd280e7ec02d;p=thirdparty%2Fcurl.git lib: prepare the incoming of additional protocols Move the curl_prot_t to its own conditional block. Introduce symbol PROTO_TYPE_SMALL to control it. Fix a cast in a curl_prot_t assignment. Remove an outdated comment. Follow-up to cd5ca80. Closes #9534 --- diff --git a/lib/url.c b/lib/url.c index cb76a56de9..241e0787e4 100644 --- a/lib/url.c +++ b/lib/url.c @@ -577,11 +577,7 @@ CURLcode Curl_init_userdefined(struct Curl_easy *data) set->new_file_perms = 0644; /* Default permissions */ set->new_directory_perms = 0755; /* Default permissions */ - - /* for the *protocols fields we don't use the CURLPROTO_ALL convenience - define since we internally only use the lower 16 bits for the passed - in bitmask to not conflict with the private bits */ - set->allowed_protocols = (unsigned int)CURLPROTO_ALL; + set->allowed_protocols = (curl_prot_t) CURLPROTO_ALL; set->redir_protocols = CURLPROTO_HTTP | CURLPROTO_HTTPS | CURLPROTO_FTP | CURLPROTO_FTPS; diff --git a/lib/urldata.h b/lib/urldata.h index 13f75438b2..580466a612 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -60,13 +60,18 @@ * protocol fields in the protocol handler. */ #define CURLPROTO_WS (1<<30) -#define CURLPROTO_WSS (1LL<<31) - -/* This type should be bumped to a curl_off_t once we need bit 32 or higher */ -typedef unsigned int curl_prot_t; +#define CURLPROTO_WSS ((curl_prot_t)1<<31) #else #define CURLPROTO_WS 0 #define CURLPROTO_WSS 0 +#endif + +/* This should be undefined once we need bit 32 or higher */ +#define PROTO_TYPE_SMALL + +#ifndef PROTO_TYPE_SMALL +typedef curl_off_t curl_prot_t; +#else typedef unsigned int curl_prot_t; #endif