]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
lib: prepare the incoming of additional protocols
authorPatrick Monnerat <patrick@monnerat.net>
Thu, 22 Sep 2022 13:27:04 +0000 (15:27 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 23 Sep 2022 06:39:44 +0000 (08:39 +0200)
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

lib/url.c
lib/urldata.h

index cb76a56de928dd84f1ba40bf7fb3163b98482792..241e0787e4a312e19eb097cd11a4007e676c83a9 100644 (file)
--- 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;
 
index 13f75438b2a39247bc44aa49727edcb071b44027..580466a6122fb1ce156dc18f52ba1eb4852edc28 100644 (file)
  * 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