url: Simplified setstropt_userpwd() following recent changes
There is no need to perform separate clearing of data if a NULL option pointer is passed in. Instead this operation can be performed by simply not calling parse_login_details() and letting the rest of the code do the work.
This commit is contained in:
parent
e99c81a07c
commit
bddf3d4705
30
lib/url.c
30
lib/url.c
@ -305,31 +305,15 @@ static CURLcode setstropt_userpwd(char *option, char **user_storage,
|
|||||||
char *passwdp = NULL;
|
char *passwdp = NULL;
|
||||||
char *optionsp = NULL;
|
char *optionsp = NULL;
|
||||||
|
|
||||||
if(!option) {
|
/* Parse the login details if specified. It not then we treat NULL as a hint
|
||||||
/* we treat a NULL passed in as a hint to clear existing info */
|
to clear the existing data */
|
||||||
if(user_storage) {
|
if(option) {
|
||||||
Curl_safefree(*user_storage);
|
result = parse_login_details(option, strlen(option),
|
||||||
*user_storage = (char *) NULL;
|
(user_storage ? &userp : NULL),
|
||||||
}
|
(pwd_storage ? &passwdp : NULL),
|
||||||
|
(options_storage ? &optionsp : NULL));
|
||||||
if(pwd_storage) {
|
|
||||||
Curl_safefree(*pwd_storage);
|
|
||||||
*pwd_storage = (char *) NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(options_storage) {
|
|
||||||
Curl_safefree(*options_storage);
|
|
||||||
*options_storage = (char *) NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return CURLE_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Parse the login details */
|
|
||||||
result = parse_login_details(option, strlen(option),
|
|
||||||
(user_storage ? &userp : NULL),
|
|
||||||
(pwd_storage ? &passwdp : NULL),
|
|
||||||
(options_storage ? &optionsp : NULL));
|
|
||||||
if(!result) {
|
if(!result) {
|
||||||
/* store username part of option */
|
/* store username part of option */
|
||||||
if(user_storage) {
|
if(user_storage) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user