aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c13
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;