setopt: move CURLOPT_CURLU

To fix cast from 'char *' to 'CURLU *' (aka 'struct Curl_URL *')
increases required alignment from 1 to 8

Follow-up to 3407bee8c8

Closes #21298
This commit is contained in:
Daniel Stenberg 2026-04-13 13:46:20 +02:00
parent 70bb0db767
commit ec445fc595
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2

View file

@ -1455,6 +1455,14 @@ static CURLcode setopt_pointers(struct Curl_easy *data, CURLoption option,
CURLcode result = CURLE_OK;
struct UserDefined *s = &data->set;
switch(option) {
case CURLOPT_CURLU:
/*
* pass CURLU to set URL
*/
Curl_bufref_free(&data->state.url);
curlx_safefree(s->str[STRING_SET_URL]);
s->uh = va_arg(param, CURLU *);
break;
#ifndef CURL_DISABLE_HTTP
#ifndef CURL_DISABLE_FORM_API
case CURLOPT_HTTPPOST:
@ -2168,14 +2176,6 @@ static CURLcode setopt_cptr(struct Curl_easy *data, CURLoption option,
* What range of the file you want to transfer
*/
return Curl_setstropt(&s->str[STRING_SET_RANGE], ptr);
case CURLOPT_CURLU:
/*
* pass CURLU to set URL
*/
Curl_bufref_free(&data->state.url);
curlx_safefree(s->str[STRING_SET_URL]);
s->uh = (CURLU *)ptr;
break;
case CURLOPT_SSLCERT:
/*
* String that holds filename of the SSL certificate to use
@ -2877,6 +2877,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
case CURLOPT_SHARE: /* CURLSH * */
case CURLOPT_STREAM_DEPENDS: /* CURL * */
case CURLOPT_STREAM_DEPENDS_E: /* CURL * */
case CURLOPT_CURLU: /* CURLU * */
return setopt_pointers(data, option, param);
default:
break;