diff options
author | Daniel Stenberg <daniel@haxx.se> | 2000-02-16 00:05:26 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2000-02-16 00:05:26 +0000 |
commit | 01865ec553f6a4000e1ced00919d01926775add2 (patch) | |
tree | 1c66e0f4f0fe31f9359acf89bcd5e7bc926aebe6 /src | |
parent | f4898981b01a31f227f24c0aaa527974a0789dce (diff) | |
download | curl-01865ec553f6a4000e1ced00919d01926775add2.tar.gz |
Starting working on the '-w/--write-out' output format specifier, although
I didn't get that far! ;-)
I also made curl *not* prevent the progress meter even if the output is a tty
when your uploading (it is still done when downloading though). A HTTP POST
is in that sense seen as an upload. It seemed so confusing that ftp upload
doesn't display a progress meter by default.
Diffstat (limited to 'src')
-rw-r--r-- | src/main.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/main.c b/src/main.c index 3c33025ae..a4206e2c7 100644 --- a/src/main.c +++ b/src/main.c @@ -126,6 +126,7 @@ static void help(void) " -U/--proxy-user <user:password> Specify Proxy authentication\n" " -v/--verbose Makes the operation more talkative\n" " -V/--version Outputs version number then quits\n" + " -w/--write-out [format] What to output after completion\n" " -x/--proxy <host> Use proxy. (Default port is 1080)\n" " -X/--request <command> Specific request command to use\n" " -y/--speed-time Time needed to trig speed-limit abort. Defaults to 30\n" @@ -177,6 +178,8 @@ struct Configurable { char *customrequest; bool progressmode; + char *writeout; /* %-styled format string to output */ + FILE *errors; /* if stderr redirect is requested */ struct curl_slist *quote; @@ -302,6 +305,7 @@ static int getparameter(char *flag, /* f or -long-flag */ {"U", "proxy-user", TRUE}, {"v", "verbose", FALSE}, {"V", "version", FALSE}, + {"w", "write-out", TRUE}, {"x", "proxy", TRUE}, {"X", "request", TRUE}, {"X", "http-request", TRUE}, /* OBSOLETE VERSION */ @@ -648,6 +652,10 @@ static int getparameter(char *flag, /* f or -long-flag */ case 'V': printf(CURL_ID "%s\n", curl_version()); return URG_FAILED_INIT; + case 'w': + /* get the output string */ + GetStr(&config->writeout, nextarg); + break; case 'x': /* proxy */ if(!*nextarg) { @@ -1040,10 +1048,10 @@ int main(int argc, char *argv[]) headerfilep=stdout; } - /* This was previously done in urlget, but that was wrong place to do it */ - if(outs.stream && isatty(fileno(outs.stream))) - /* we send the output to a tty, and therefor we switch off the progress - meter right away */ + if(outs.stream && isatty(fileno(outs.stream)) && + !(config.conf&(CONF_UPLOAD|CONF_HTTPPOST))) + /* we send the output to a tty and it isn't an upload operation, therefore + we switch off the progress meter */ config.conf |= CONF_NOPROGRESS; #ifdef GLOBURL |