summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2020-12-14 22:43:57 +0100
committerDaniel Stenberg <daniel@haxx.se>2020-12-14 22:44:55 +0100
commit93a936d90d40ab196a5d6866780d628925828051 (patch)
tree6f842ebbdbe3fbbac280dbea505a0fb3c2b358a7
parent796c068895f81f58d1166ba6c7416650142723f7 (diff)
downloadcurl-bagder/writeout-usecs.tar.gz
tooĺ_writeout: fix the -w time output unitsbagder/writeout-usecs
Fix regression from commit fc813f80e1bcac (#6248) that changed the unit to microseconds instead of seconds with fractions Fixes #6321
-rw-r--r--src/tool_writeout.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/tool_writeout.c b/src/tool_writeout.c
index c12738c43..8b9f59005 100644
--- a/src/tool_writeout.c
+++ b/src/tool_writeout.c
@@ -106,6 +106,14 @@ static const struct writeoutvar variables[] = {
0, JSON_NONE}
};
+static void us2sec(FILE *stream, curl_off_t us)
+{
+ curl_off_t secs = us / 1000000;
+ us %= 1000000;
+ fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU ".%06" CURL_FORMAT_CURL_OFF_TU,
+ secs, us);
+}
+
void ourWriteOut(CURL *curl, struct per_transfer *per, const char *writeinfo)
{
FILE *stream = stdout;
@@ -190,41 +198,41 @@ void ourWriteOut(CURL *curl, struct per_transfer *per, const char *writeinfo)
case VAR_REDIRECT_TIME:
if(CURLE_OK ==
curl_easy_getinfo(curl, CURLINFO_REDIRECT_TIME_T, &offinfo))
- fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU, offinfo);
+ us2sec(stream, offinfo);
break;
case VAR_TOTAL_TIME:
if(CURLE_OK ==
curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME_T, &offinfo))
- fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU, offinfo);
+ us2sec(stream, offinfo);
break;
case VAR_NAMELOOKUP_TIME:
if(CURLE_OK ==
curl_easy_getinfo(curl, CURLINFO_NAMELOOKUP_TIME_T,
&offinfo))
- fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU, offinfo);
+ us2sec(stream, offinfo);
break;
case VAR_CONNECT_TIME:
if(CURLE_OK ==
curl_easy_getinfo(curl, CURLINFO_CONNECT_TIME_T, &offinfo))
- fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU, offinfo);
+ us2sec(stream, offinfo);
break;
case VAR_APPCONNECT_TIME:
if(CURLE_OK ==
curl_easy_getinfo(curl, CURLINFO_APPCONNECT_TIME_T,
&offinfo))
- fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU, offinfo);
+ us2sec(stream, offinfo);
break;
case VAR_PRETRANSFER_TIME:
if(CURLE_OK ==
curl_easy_getinfo(curl, CURLINFO_PRETRANSFER_TIME_T,
&offinfo))
- fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU, offinfo);
+ us2sec(stream, offinfo);
break;
case VAR_STARTTRANSFER_TIME:
if(CURLE_OK ==
curl_easy_getinfo(curl, CURLINFO_STARTTRANSFER_TIME_T,
&offinfo))
- fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU, offinfo);
+ us2sec(stream, offinfo);
break;
case VAR_SIZE_UPLOAD:
if(CURLE_OK ==