X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=os_win32.cpp;h=57a7fbca452bf3090766870098b3861629fefcb6;hb=9106537b9d36c50e97375fda7788e6128a1adda0;hp=98e397bbc5b28c9e0e9c095a2bedf92544f4fa8f;hpb=b07b25799599e3c21fc24e60335462497b48a739;p=apitrace diff --git a/os_win32.cpp b/os_win32.cpp old mode 100755 new mode 100644 index 98e397b..57a7fbc --- a/os_win32.cpp +++ b/os_win32.cpp @@ -25,6 +25,7 @@ #include #include +#include #include "os.hpp" @@ -69,7 +70,7 @@ GetProcessName(char *str, size_t size) lpProcessExt = strrchr(lpProcessName, '.'); if (lpProcessExt) { - *lpProcessExt = '\0'; + *lpProcessExt = '\0'; } strncpy(str, lpProcessName, size); @@ -77,5 +78,52 @@ GetProcessName(char *str, size_t size) return true; } +bool +GetCurrentDir(char *str, size_t size) +{ + DWORD ret; + ret = GetCurrentDirectoryA(size, str); + str[size - 1] = 0; + return ret == 0 ? false : true; +} + +void +DebugMessage(const char *format, ...) +{ + char buf[4096]; + + va_list ap; + va_start(ap, format); + fflush(stdout); + vsnprintf(buf, sizeof buf, format, ap); + va_end(ap); + + OutputDebugStringA(buf); + if (!IsDebuggerPresent()) { + fflush(stdout); + fputs(buf, stderr); + fflush(stderr); + } +} + +long long GetTime(void) +{ + static LARGE_INTEGER frequency; + LARGE_INTEGER counter; + if(!frequency.QuadPart) + QueryPerformanceFrequency(&frequency); + QueryPerformanceCounter(&counter); + return counter.QuadPart*1000000LL/frequency.QuadPart; +} + +void +Abort(void) +{ +#ifndef NDEBUG + DebugBreak(); +#else + ExitProcess(0); +#endif +} } /* namespace OS */