From: Christian Hesse Date: Tue, 1 Jul 2025 08:29:13 +0000 (+0200) Subject: curl.h: make CURL_IPRESOLVE_* symbols defined as longs X-Git-Tag: rc-8_15_0-3~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7d73c712f00cb8d3f12eb3e040ebcc64bc4747b9;p=thirdparty%2Fcurl.git curl.h: make CURL_IPRESOLVE_* symbols defined as longs ... as `curl_easy_setopt()` expects them to be. Also remove some casting workarounds. Closes #17790 --- diff --git a/docs/examples/ipv6.c b/docs/examples/ipv6.c index 371e0f5573..1b698705d0 100644 --- a/docs/examples/ipv6.c +++ b/docs/examples/ipv6.c @@ -35,7 +35,7 @@ int main(void) curl = curl_easy_init(); if(curl) { - curl_easy_setopt(curl, CURLOPT_IPRESOLVE, (long)CURL_IPRESOLVE_V6); + curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6); curl_easy_setopt(curl, CURLOPT_URL, "https://curl.se/"); diff --git a/docs/libcurl/opts/CURLOPT_IPRESOLVE.md b/docs/libcurl/opts/CURLOPT_IPRESOLVE.md index 1b13e3641d..1b761c961b 100644 --- a/docs/libcurl/opts/CURLOPT_IPRESOLVE.md +++ b/docs/libcurl/opts/CURLOPT_IPRESOLVE.md @@ -66,7 +66,7 @@ int main(void) curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/foo.bin"); /* of all addresses example.com resolves to, only IPv6 ones are used */ - curl_easy_setopt(curl, CURLOPT_IPRESOLVE, (long)CURL_IPRESOLVE_V6); + curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6); res = curl_easy_perform(curl); diff --git a/include/curl/curl.h b/include/curl/curl.h index 9eb021305a..7ef5b99349 100644 --- a/include/curl/curl.h +++ b/include/curl/curl.h @@ -2289,10 +2289,10 @@ typedef enum { /* Below here follows defines for the CURLOPT_IPRESOLVE option. If a host name resolves addresses using more than one IP protocol version, this option might be handy to force libcurl to use a specific IP version. */ -#define CURL_IPRESOLVE_WHATEVER 0 /* default, uses addresses to all IP +#define CURL_IPRESOLVE_WHATEVER 0L /* default, uses addresses to all IP versions that your system allows */ -#define CURL_IPRESOLVE_V4 1 /* uses only IPv4 addresses/connections */ -#define CURL_IPRESOLVE_V6 2 /* uses only IPv6 addresses/connections */ +#define CURL_IPRESOLVE_V4 1L /* uses only IPv4 addresses/connections */ +#define CURL_IPRESOLVE_V6 2L /* uses only IPv6 addresses/connections */ /* Convenient "aliases" */ #define CURLOPT_RTSPHEADER CURLOPT_HTTPHEADER diff --git a/tests/unit/unit2600.c b/tests/unit/unit2600.c index 47459477a4..063eed3536 100644 --- a/tests/unit/unit2600.c +++ b/tests/unit/unit2600.c @@ -75,7 +75,7 @@ struct test_case { int id; const char *url; const char *resolve_info; - unsigned char ip_version; + long ip_version; timediff_t connect_timeout_ms; timediff_t he_timeout_ms; timediff_t cf4_fail_delay_ms; @@ -312,7 +312,7 @@ static void test_connect(CURL *easy, const struct test_case *tc) list = curl_slist_append(NULL, tc->resolve_info); fail_unless(list, "error allocating resolve list entry"); curl_easy_setopt(easy, CURLOPT_RESOLVE, list); - curl_easy_setopt(easy, CURLOPT_IPRESOLVE, (long)tc->ip_version); + curl_easy_setopt(easy, CURLOPT_IPRESOLVE, tc->ip_version); curl_easy_setopt(easy, CURLOPT_CONNECTTIMEOUT_MS, (long)tc->connect_timeout_ms); curl_easy_setopt(easy, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS,