diff -r 9b9420041d8e -r 378b5ab86f77 libidav/utils.c --- a/libidav/utils.c Tue Sep 12 21:07:54 2023 +0200 +++ b/libidav/utils.c Thu Sep 14 18:11:50 2023 +0200 @@ -146,8 +146,10 @@ tparts.tm_isdst = -1; return mktime(&tparts); } else if(!cx_strcmp(tzinfo, cx_str("Z"))) { -#ifdef __FreeBSD__ +#if defined(__FreeBSD__) return timegm(&tparts); +#elif defined(_WIN32) + return mktime(&tparts); #else return mktime(&tparts) - timezone; #endif @@ -161,8 +163,10 @@ extractval(tzinfo, conv, ':'); val = atol(conv); val = 60 * (val / 100) + (val % 100); -#ifdef __FreeBSD__ +#if defined(__FreeBSD__) return timegm(&tparts) + (time_t) (60 * val * sign); +#elif defined(_WIN32) + return mktime(&tparts) + (time_t)(60 * val * sign); #else return mktime(&tparts) - timezone + (time_t) (60 * val * sign); #endif @@ -307,6 +311,10 @@ return util_url_base_s(cx_str(url)); } +#ifdef _WIN32 +#define strncasecmp _strnicmp +#endif + const char* util_url_path(const char *url) { const char *path = NULL; size_t len = strlen(url);