mirror of
https://github.com/curl/curl.git
synced 2026-08-06 04:26:18 +03:00
curl tool: add filename_effective token for --write-out
By modifying the parameter list for ourWriteOut() and passing the OutStruct that collects data in tool_operate, we get access to the remote name that we're writing to. Shell scripters should find this useful when used in conjuntion with the --remote-header-name option.
This commit is contained in:
parent
54866b68cd
commit
ddfe821bcf
4 changed files with 15 additions and 3 deletions
|
|
@ -1391,7 +1391,7 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
|
|||
fputs("\n", progressbar.out);
|
||||
|
||||
if(config->writeout)
|
||||
ourWriteOut(curl, config->writeout);
|
||||
ourWriteOut(curl, &outs, config->writeout);
|
||||
|
||||
if(config->writeenv)
|
||||
ourWriteEnv(curl);
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
#define _MPRINTF_REPLACE /* we want curl-functions instead of native ones */
|
||||
#include <curl/mprintf.h>
|
||||
|
||||
#include "tool_cfgable.h"
|
||||
#include "tool_writeout.h"
|
||||
|
||||
#include "memdebug.h" /* keep this as LAST include */
|
||||
|
|
@ -54,6 +55,7 @@ typedef enum {
|
|||
VAR_FTP_ENTRY_PATH,
|
||||
VAR_REDIRECT_URL,
|
||||
VAR_SSL_VERIFY_RESULT,
|
||||
VAR_EFFECTIVE_FILENAME,
|
||||
VAR_NUM_OF_VARS /* must be the last */
|
||||
} replaceid;
|
||||
|
||||
|
|
@ -87,10 +89,11 @@ static const struct variable replacements[]={
|
|||
{"ftp_entry_path", VAR_FTP_ENTRY_PATH},
|
||||
{"redirect_url", VAR_REDIRECT_URL},
|
||||
{"ssl_verify_result", VAR_SSL_VERIFY_RESULT},
|
||||
{"filename_effective", VAR_EFFECTIVE_FILENAME},
|
||||
{NULL, VAR_NONE}
|
||||
};
|
||||
|
||||
void ourWriteOut(CURL *curl, const char *writeinfo)
|
||||
void ourWriteOut(CURL *curl, struct OutStruct *outs, const char *writeinfo)
|
||||
{
|
||||
FILE *stream = stdout;
|
||||
const char *ptr = writeinfo;
|
||||
|
|
@ -242,6 +245,10 @@ void ourWriteOut(CURL *curl, const char *writeinfo)
|
|||
&longinfo))
|
||||
fprintf(stream, "%ld", longinfo);
|
||||
break;
|
||||
case VAR_EFFECTIVE_FILENAME:
|
||||
if(outs->filename)
|
||||
fprintf(stream, "%s", outs->filename);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,6 @@
|
|||
***************************************************************************/
|
||||
#include "setup.h"
|
||||
|
||||
void ourWriteOut(CURL *curl, const char *out);
|
||||
void ourWriteOut(CURL *curl, struct OutStruct *outs, const char *writeinfo);
|
||||
|
||||
#endif /* HEADER_CURL_TOOL_WRITEOUT_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue