The file name given to -E can now contain drive letters on windows, if they

start the file name as in 'X:\' where X is any letter. The colon otherwise
normally separate the file name from the password.
This commit is contained in:
Daniel Stenberg 2001-08-08 07:35:57 +00:00
parent edec65246a
commit 59ab21ed07

View File

@ -899,7 +899,23 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
}
else {
char *ptr = strchr(nextarg, ':');
if(ptr) {
/* Since we live in a world of weirdness and confusion, the win32
dudes can use : when using drive letters and thus
c:\file:password needs to work. In order not to break
compatibility, we still use : as separator, but we try to detect
when it is used for a file name! On windows. */
#ifdef WIN32
if(ptr &&
(ptr == &nextarg[1]) &&
(nextarg[2] == '\\') &&
(isalpha((int)nextarg[0])) )
/* colon in the second column, followed by a backslash, and the
first character is an alphabetic letter:
this is a drive letter colon */
ptr = strchr(&nextarg[3], ':'); /* find the next one instead */
#endif
if(ptr) {
/* we have a password too */
*ptr=0;
ptr++;