From 0352dbfd65072f42824852b2f5b925e7d9865a90 Mon Sep 17 00:00:00 2001 From: William Speirs Date: Tue, 14 Oct 2014 17:07:30 -0400 Subject: Fixed log so it will compile under Visual Studio - Included an implementation of gettimeofday --- kernel/log.cc | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'kernel/log.cc') diff --git a/kernel/log.cc b/kernel/log.cc index 87a75410..4585e7ef 100644 --- a/kernel/log.cc +++ b/kernel/log.cc @@ -21,7 +21,10 @@ #include "libs/sha1/sha1.h" #include "backends/ilang/ilang_backend.h" -#include +#ifndef _WIN32 + #include +#endif + #include #include #include @@ -48,6 +51,26 @@ static struct timeval initial_tv = { 0, 0 }; static bool next_print_log = false; static int log_newline_count = 0; +#ifdef _WIN32 +// this will get time information and return it in timeval, simulating gettimeofday() +int gettimeofday(struct timeval *tv, struct timezone *tz) +{ + LARGE_INTEGER counter; + LARGE_INTEGER freq; + + QueryPerformanceFrequency(&freq); + QueryPerformanceCounter(&counter); + + counter.QuadPart *= 1000000; + counter.QuadPart /= freq.QuadPart; + + tv->tv_sec = counter.QuadPart / 1000000; + tv->tv_usec = counter.QuadPart % 1000000; + + return 0; +} +#endif + void logv(const char *format, va_list ap) { while (format[0] == '\n' && format[1] != 0) { -- cgit v1.2.3