cURL
Haxx ad
libcurl

curl's project page on SourceForge.net

Sponsors:
Haxx

cURL > Mailing List > Monthly Index > Single Mail

curl-tracker mailing list Archives

[ curl-Bugs-2958074 ] --trace-time prints system-uptime instead of actual time WIN

From: SourceForge.net <noreply_at_sourceforge.net>
Date: Wed, 24 Feb 2010 16:37:48 +0000

Bugs item #2958074, was opened at 2010-02-24 16:37
Message generated for change (Tracker Item Submitted) made by spsp
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=100976&aid=2958074&group_id=976

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: debug/info output
Group: wrong behaviour
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: spsp (spsp)
Assigned to: Daniel Stenberg (bagder)
Summary: --trace-time prints system-uptime instead of actual time WIN

Initial Comment:
Windows XP SP3 (32bit)
curl 7.19.7 (i386-pc-win32) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3 libidn/1.14 libssh2/1.2.1
Protocols: tftp ftp telnet dict ldap http file https ftps scp sftp
Features: IDN Largefile NTLM SSL SSPI libz
(also tried with 7.20.0 and 7.19.5, same result)

curl --trace-time -v -O <some URL or ftp>

In the Output, the time reported doesn't make sense (always low hours 0 / 1 / 2 are reported), neither hours, nor minutes.
Changing System Time has no effect on the curl output. time /T in cmd window reports correct time.
Windows Restart didn't help, BUT! changed the reported time, kinda resetted it to 00 hours.

After looking into the code, I think the time displayed from --trace-time is the Windows uptime instead of the actual time.
main.c [function] my_trace(...)
  tv = cutil_tvnow(); // returns uptime, see below
  secs = tv.tv_sec;
  now = localtime(&secs); /* not multithread safe but we don't care */ // translates uptime to hours, minutes, ... ?
  if(config->tracetime)
    snprintf(timebuf, sizeof(timebuf), "%02d:%02d:%02d.%06ld ",
             now->tm_hour, now->tm_min, now->tm_sec, (long)tv.tv_usec);

crlutil.c
struct timeval cutil_tvnow(void)
{
  /*
  ** GetTickCount() is available on _all_ Windows versions from W95 up
  ** to nowadays. Returns milliseconds elapsed since last system boot, // <<-- here we have it
  ** increases monotonically and wraps once 49.7 days have elapsed.
  */
  struct timeval now;
  DWORD milliseconds = GetTickCount();
  now.tv_sec = milliseconds / 1000;
  now.tv_usec = (milliseconds % 1000) * 1000;
  return now;
}

----------------------------------------------------------------------

You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=100976&aid=2958074&group_id=976
Received on 2010-02-24

These mail archives are generated by hypermail.

donate! Page updated November 12, 2010.
web site info

File upload with ASP.NET