1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-21 23:58:49 -05:00

introducing --ftp-create_dirs

This commit is contained in:
Daniel Stenberg 2003-08-08 10:24:13 +00:00
parent 2077e9365a
commit e347d06a49

View File

@ -403,7 +403,8 @@ static void help(void)
puts(" --connect-timeout <seconds> Maximum time allowed for connection\n" puts(" --connect-timeout <seconds> Maximum time allowed for connection\n"
" --create-dirs Create the necessary local directory hierarchy\n" " --create-dirs Create the necessary local directory hierarchy\n"
" --crlf Convert LF to CRLF in upload. Useful for MVS (OS/390)\n" " --crlf Convert LF to CRLF in upload. Useful for MVS (OS/390)\n"
" -f/--fail Fail silently (no output at all) on errors (H)\n" " -f/--fail Fail silently (no output at all) on errors (H)");
puts(" --ftp-create-dirs Create the remote dirs if not present (F)\n"
" -F/--form <name=content> Specify HTTP POST data (H)\n" " -F/--form <name=content> Specify HTTP POST data (H)\n"
" -g/--globoff Disable URL sequences and ranges using {} and []\n" " -g/--globoff Disable URL sequences and ranges using {} and []\n"
" -G/--get Send the -d data with a HTTP GET (H)"); " -G/--get Send the -d data with a HTTP GET (H)");
@ -540,6 +541,7 @@ struct Configurable {
bool use_httpget; bool use_httpget;
bool insecure_ok; /* set TRUE to allow insecure SSL connects */ bool insecure_ok; /* set TRUE to allow insecure SSL connects */
bool create_dirs; bool create_dirs;
bool ftp_create_dirs;
char *writeout; /* %-styled format string to output */ char *writeout; /* %-styled format string to output */
bool writeenv; /* write results to environment, if available */ bool writeenv; /* write results to environment, if available */
@ -1085,6 +1087,7 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
#ifdef __DJGPP__ #ifdef __DJGPP__
{"5p", "wdebug", FALSE}, {"5p", "wdebug", FALSE},
#endif #endif
{"5q", "ftp-create-dirs", FALSE},
{"0", "http1.0", FALSE}, {"0", "http1.0", FALSE},
{"1", "tlsv1", FALSE}, {"1", "tlsv1", FALSE},
{"2", "sslv2", FALSE}, {"2", "sslv2", FALSE},
@ -1334,6 +1337,9 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
dbug_init(); dbug_init();
break; break;
#endif #endif
case 'q': /* --ftp-create_dirs */
config->ftp_create_dirs ^= TRUE;
break;
default: /* the URL! */ default: /* the URL! */
{ {
@ -3097,6 +3103,10 @@ operate(struct Configurable *config, int argc, char *argv[])
curl_easy_setopt(curl, CURLOPT_ENCODING, curl_easy_setopt(curl, CURLOPT_ENCODING,
(config->encoding) ? "" : NULL); (config->encoding) ? "" : NULL);
/* new in curl 7.10.7 */
curl_easy_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS,
config->ftp_create_dirs);
res = curl_easy_perform(curl); res = curl_easy_perform(curl);
if((config->progressmode == CURL_PROGRESS_BAR) && if((config->progressmode == CURL_PROGRESS_BAR) &&