X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/087c8bf3303e69d79cbbfdfb8edc836587cfb820..1618a18e899bcec7f6a1c4ad884b84472fa67655:/client/util_posix.c

diff --git a/client/util_posix.c b/client/util_posix.c
index 382f6a60..32158ada 100644
--- a/client/util_posix.c
+++ b/client/util_posix.c
@@ -31,14 +31,18 @@ static void nsleep(uint64_t n) {
 }
 
 void msleep(uint32_t n) {
-	nsleep(1000000 * n);
+	nsleep(1000000 * (uint64_t)n);
 }
 #endif // _WIN32
 
-#ifdef __MACH__
+#ifdef __APPLE__
 
+#ifndef CLOCK_MONOTONIC
 	#define CLOCK_MONOTONIC (1)
+#endif
+#ifndef CLOCK_REALTIME
 	#define CLOCK_REALTIME (2)
+#endif
 
 	#include <sys/time.h>
 	#include <mach/clock.h>
@@ -63,20 +67,18 @@ void msleep(uint32_t n) {
 
 		} else if (clk_id == CLOCK_MONOTONIC) {
 			static uint64_t clock_start_time = 0;
-			static mach_timebase_info_data_t timebase_ifo = {0, 0};
+			static mach_timebase_info_data_t timebase_info = {0, 0};
 
 			uint64_t now = mach_absolute_time();
 
 			if (clock_start_time == 0) {
-				//kern_return_t mach_status = mach_timebase_info(&timebase_ifo);
-				// appease "unused variable" warning for release builds
-				//(void)mach_status;
+				mach_timebase_info(&timebase_info);
 				clock_start_time = now;
 			}
 
 			now = (uint64_t)((double)(now - clock_start_time)
-			                 * (double)timebase_ifo.numer
-			                 / (double)timebase_ifo.denom);
+			                 * (double)timebase_info.numer
+			                 / (double)timebase_info.denom);
 
 			t->tv_sec = now / 1000000000;
 			t->tv_nsec = now % 1000000000;