From: Viktor Szakats Date: Fri, 1 Aug 2025 14:27:15 +0000 (+0200) Subject: CURLOPT: bump remaining macros to `long` X-Git-Tag: curl-8_16_0~284 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=80297e1dcb26b353464096be276fca3bc258614f;p=thirdparty%2Fcurl.git CURLOPT: bump remaining macros to `long` This patch bumps the size of these macros from `int` to `long`, while keeping their actual values the same. It may cause incompatibilities in user code, requiring the bump of holder variables and/or adding casts: - CURLGSSAPI_DELEGATION_FLAG - CURLGSSAPI_DELEGATION_NONE - CURLGSSAPI_DELEGATION_POLICY_FLAG - CURLMIMEOPT_FORMESCAPE - CURLSSH_AUTH_AGENT - CURLSSH_AUTH_ANY - CURLSSH_AUTH_DEFAULT - CURLSSH_AUTH_GSSAPI - CURLSSH_AUTH_HOST - CURLSSH_AUTH_KEYBOARD - CURLSSH_AUTH_NONE - CURLSSH_AUTH_PASSWORD - CURLSSH_AUTH_PUBLICKEY Also: - keep existing cast within the documentation to make sure it applies to older curl versions as well. Closes #18134 --- diff --git a/docs/examples/sftpget.c b/docs/examples/sftpget.c index 6b594a1bfe..4d33939a40 100644 --- a/docs/examples/sftpget.c +++ b/docs/examples/sftpget.c @@ -86,7 +86,7 @@ int main(void) /* We activate ssh agent. For this to work you need to have ssh-agent running (type set | grep SSH_AGENT to check) or pageant on Windows (there is an icon in systray if so) */ - curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, (long)CURLSSH_AUTH_AGENT); + curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, CURLSSH_AUTH_AGENT); #endif /* Switch on full protocol/debug output */ diff --git a/include/curl/curl.h b/include/curl/curl.h index e603f8ca20..cca5a4433f 100644 --- a/include/curl/curl.h +++ b/include/curl/curl.h @@ -846,19 +846,19 @@ typedef enum { #define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE) #define CURLAUTH_ANYSAFE (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE)) -#define CURLSSH_AUTH_ANY ~0 /* all types supported by the server */ -#define CURLSSH_AUTH_NONE 0 /* none allowed, silly but complete */ -#define CURLSSH_AUTH_PUBLICKEY (1<<0) /* public/private key files */ -#define CURLSSH_AUTH_PASSWORD (1<<1) /* password */ -#define CURLSSH_AUTH_HOST (1<<2) /* host key files */ -#define CURLSSH_AUTH_KEYBOARD (1<<3) /* keyboard interactive */ -#define CURLSSH_AUTH_AGENT (1<<4) /* agent (ssh-agent, pageant...) */ -#define CURLSSH_AUTH_GSSAPI (1<<5) /* gssapi (kerberos, ...) */ +#define CURLSSH_AUTH_ANY ~0L /* all types supported by the server */ +#define CURLSSH_AUTH_NONE 0L /* none allowed, silly but complete */ +#define CURLSSH_AUTH_PUBLICKEY (1L<<0) /* public/private key files */ +#define CURLSSH_AUTH_PASSWORD (1L<<1) /* password */ +#define CURLSSH_AUTH_HOST (1L<<2) /* host key files */ +#define CURLSSH_AUTH_KEYBOARD (1L<<3) /* keyboard interactive */ +#define CURLSSH_AUTH_AGENT (1L<<4) /* agent (ssh-agent, pageant...) */ +#define CURLSSH_AUTH_GSSAPI (1L<<5) /* gssapi (kerberos, ...) */ #define CURLSSH_AUTH_DEFAULT CURLSSH_AUTH_ANY -#define CURLGSSAPI_DELEGATION_NONE 0 /* no delegation (default) */ -#define CURLGSSAPI_DELEGATION_POLICY_FLAG (1<<0) /* if permitted by policy */ -#define CURLGSSAPI_DELEGATION_FLAG (1<<1) /* delegate always */ +#define CURLGSSAPI_DELEGATION_NONE 0L /* no delegation (default) */ +#define CURLGSSAPI_DELEGATION_POLICY_FLAG (1L<<0) /* if permitted by policy */ +#define CURLGSSAPI_DELEGATION_FLAG (1L<<1) /* delegate always */ #define CURL_ERROR_SIZE 256 @@ -2430,7 +2430,7 @@ typedef struct curl_mime curl_mime; /* Mime context. */ typedef struct curl_mimepart curl_mimepart; /* Mime part context. */ /* CURLMIMEOPT_ defines are for the CURLOPT_MIME_OPTIONS option. */ -#define CURLMIMEOPT_FORMESCAPE (1<<0) /* Use backslash-escaping for forms. */ +#define CURLMIMEOPT_FORMESCAPE (1L<<0) /* Use backslash-escaping for forms. */ /* * NAME curl_mime_init()