/* Write the --write-out data before cleanup but after result is final */
if(config->writeout)
- ourWriteOut(config->writeout, per, result);
+ ourWriteOut(config, per, result);
/* Close function-local opened file descriptors */
if(per->heads.fopened && per->heads.stream)
return 1; /* return 1 if anything was written */
}
-void ourWriteOut(const char *writeinfo, struct per_transfer *per,
+void ourWriteOut(struct OperationConfig *config, struct per_transfer *per,
CURLcode per_result)
{
FILE *stream = stdout;
+ const char *writeinfo = config->writeout;
const char *ptr = writeinfo;
bool done = FALSE;
struct curl_certinfo *certinfo;
CURLcode res = curl_easy_getinfo(per->curl, CURLINFO_CERTINFO, &certinfo);
+ if(!writeinfo)
+ return;
+
if(!res && certinfo)
per->certinfo = certinfo;
stream = stdout;
break;
case VAR_STDERR:
- stream = stderr;
+ stream = config->global->errors;
break;
case VAR_JSON:
ourWriteOutJSON(stream, variables, per, per_result);
bool use_json);
};
-void ourWriteOut(const char *writeinfo, struct per_transfer *per,
+void ourWriteOut(struct OperationConfig *config, struct per_transfer *per,
CURLcode per_result);
#endif /* HEADER_CURL_TOOL_WRITEOUT_H */