diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/main.c b/src/main.c index caf02e7cc..d43f49bd1 100644 --- a/src/main.c +++ b/src/main.c @@ -448,6 +448,7 @@ struct Configurable { struct curl_slist *quote; struct curl_slist *postquote; + struct curl_slist *prequote; long ssl_version; curl_TimeCond timecond; @@ -1376,12 +1377,18 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ break; case 'Q': /* QUOTE command to send to FTP server */ - if(nextarg[0] == '-') { + switch(nextarg[0]) { + case '-': /* prefixed with a dash makes it a POST TRANSFER one */ nextarg++; config->postquote = curl_slist_append(config->postquote, nextarg); - } - else { + break; + case '+': + /* prefixed with a plus makes it a just-before-transfer one */ + nextarg++; + config->prequote = curl_slist_append(config->prequote, nextarg); + break; + default: config->quote = curl_slist_append(config->quote, nextarg); } break; |