| diff -Naur libnova-0.15.0.orig/src/julian_day.c libnova-0.15.0/src/julian_day.c |
| --- libnova-0.15.0.orig/src/julian_day.c 2018-05-17 15:44:24.543368100 -0400 |
| +++ libnova-0.15.0/src/julian_day.c 2018-05-17 15:57:24.240688000 -0400 |
| @@ -189,17 +189,30 @@ |
| void ln_get_date_from_sys (struct ln_date * date) |
| { |
| struct tm * gmt; |
| + #ifdef __WIN32__ |
| + struct posix_timeval tv; |
| + struct posix_timezone tz; |
| + #else |
| struct timeval tv; |
| struct timezone tz; |
| + #endif |
| |
| /* get current time with microseconds precission*/ |
| gettimeofday (&tv, &tz); |
| |
| /* convert to UTC time representation */ |
| + #ifdef __WIN32__ |
| + gmt = gmtime(&tv.posix_tv_sec); |
| + #else |
| gmt = gmtime(&tv.tv_sec); |
| + #endif |
| |
| /* fill in date struct */ |
| + #ifdef __WIN32__ |
| + date->seconds = gmt->tm_sec + ((double)tv.posix_tv_usec / 1000000); |
| + #else |
| date->seconds = gmt->tm_sec + ((double)tv.tv_usec / 1000000); |
| + #endif |
| date->minutes = gmt->tm_min; |
| date->hours = gmt->tm_hour; |
| date->days = gmt->tm_mday; |
| diff -Naur libnova-0.15.0.orig/src/libnova/ln_types.h libnova-0.15.0/src/libnova/ln_types.h |
| --- libnova-0.15.0.orig/src/libnova/ln_types.h 2018-05-17 15:44:24.433994300 -0400 |
| +++ libnova-0.15.0/src/libnova/ln_types.h 2018-05-17 15:54:18.810928500 -0400 |
| @@ -341,16 +341,16 @@ |
| |
| #include <time.h> |
| |
| -struct timeval |
| +struct posix_timeval |
| { |
| - time_t tv_sec; /* count of seconds since Jan. 1, 1970 */ |
| - long tv_usec; /* and microseconds */ |
| + time_t posix_tv_sec; /* count of seconds since Jan. 1, 1970 */ |
| + long posix_tv_usec; /* and microseconds */ |
| }; |
| |
| -struct timezone |
| +struct posix_timezone |
| { |
| - int tz_minuteswest; /* Minutes west of GMT */ |
| - int tz_dsttime; /* DST correction offset */ |
| + int posix_tz_minuteswest; /* Minutes west of GMT */ |
| + int posix_tz_dsttime; /* DST correction offset */ |
| }; |
| |
| #endif /* __WIN32__ */ |
| diff -Naur libnova-0.15.0.orig/src/libnova/utility.h libnova-0.15.0/src/libnova/utility.h |
| --- libnova-0.15.0.orig/src/libnova/utility.h 2018-05-17 15:44:24.465242600 -0400 |
| +++ libnova-0.15.0/src/libnova/utility.h 2018-05-17 16:21:34.418019200 -0400 |
| @@ -21,12 +21,6 @@ |
| |
| #include <libnova/ln_types.h> |
| |
| -#ifdef __WIN32__ |
| -#include <time.h> |
| -// cbrt replacement |
| -#define cbrt(x) pow (x,1.0/3.0) |
| -#endif |
| - |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| @@ -222,7 +216,7 @@ |
| struct tm *gmtime_r (time_t *t, struct tm *gmt); |
| |
| /* Catches calls to the POSIX gettimeofday and converts them to a related WIN32 version. */ |
| -int gettimeofday(struct timeval *tp, struct timezone *tzp); |
| +int gettimeofday(struct posix_timeval *tp, struct posix_timezone *tzp); |
| |
| /* Catches calls to the POSIX strtok_r and converts them to a related WIN32 version. */ |
| char *strtok_r(char *str, const char *sep, char **last); |
| diff -Naur libnova-0.15.0.orig/src/utility.c libnova-0.15.0/src/utility.c |
| --- libnova-0.15.0.orig/src/utility.c 2018-05-17 15:44:24.355870400 -0400 |
| +++ libnova-0.15.0/src/utility.c 2018-05-17 16:04:25.653565300 -0400 |
| @@ -678,17 +678,17 @@ |
| #ifdef __WIN32__ |
| |
| /* Catches calls to the POSIX gettimeofday and converts them to a related WIN32 version. */ |
| -int gettimeofday(struct timeval *tv, struct timezone *tz) |
| +int gettimeofday(struct posix_timeval *tv, struct posix_timezone *tz) |
| { |
| struct _timeb timeptr; |
| |
| _ftime_s (&timeptr); |
| |
| - tv->tv_sec = timeptr.time; |
| - tv->tv_usec = timeptr.millitm * 1000; |
| + tv->posix_tv_sec = timeptr.time; |
| + tv->posix_tv_usec = timeptr.millitm * 1000; |
| |
| - tz->tz_dsttime = timeptr.dstflag; |
| - tz->tz_dsttime = timeptr.timezone; |
| + tz->posix_tz_dsttime = timeptr.dstflag; |
| + tz->posix_tz_dsttime = timeptr.timezone; |
| |
| return 0; |
| } |