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:
committed by
Daniel Stenberg
parent
54866b68cd
commit
ddfe821bcf
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user