From bc7ecc71c0c11d22fdbe6415a7945bfc43dc3c33 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 15 Dec 2020 08:09:29 +0100 Subject: [PATCH] =?utf8?q?too=C4=BA=5Fwriteout:=20fix=20the=20-w=20time=20?= =?utf8?q?output=20units?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fix regression from commit fc813f80e1bcac (#6248) that changed the unit to microseconds instead of seconds with fractions Reported-by: 不确定 Fixes #6321 Closes #6322 --- src/tool_writeout.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/tool_writeout.c b/src/tool_writeout.c index c12738c439..8b9f590053 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 == -- 2.47.3