diff --git a/mk/win32/re.vcproj b/mk/win32/re.vcproj
deleted file mode 100644
index f802818..0000000
--- a/mk/win32/re.vcproj
+++ /dev/null
@@ -1,855 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/mk/win32/re.vcxproj b/mk/win32/re.vcxproj
new file mode 100644
index 0000000..12f217a
--- /dev/null
+++ b/mk/win32/re.vcxproj
@@ -0,0 +1,333 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ re-win32
+ {40B28DF6-4B4A-411A-9EB7-8D80C2A29B9D}
+ Win32Proj
+ 8.1
+
+
+
+ StaticLibrary
+ v140
+ MultiByte
+
+
+ StaticLibrary
+ v140
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>14.0.25123.0
+
+
+ ..\..\$(Platform)\$(Configuration)\bin\
+ ..\..\$(Platform)\$(Configuration)\tmp\mk\win32\
+
+
+ ..\..\$(Platform)\$(Configuration)\bin\
+ ..\..\$(Platform)\$(Configuration)\tmp\mk\win32\
+
+
+
+ Disabled
+ Default
+ ..\..\include;..\..\..\misc;%(AdditionalIncludeDirectories)
+ WIN32;_CONSOLE;HAVE_INET_PTON;HAVE_INET_NTOP;FD_SETSIZE=1024;HAVE_SELECT;HAVE_IO_H;_CRT_SECURE_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;_DEBUG;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+ Level3
+ EditAndContinue
+ 4142;%(DisableSpecificWarnings)
+ $(IntDir)%(RelativeDir)%(Filename).obj
+
+
+ Iphlpapi.lib %(AdditionalOptions)
+ ws2_32.lib;%(AdditionalDependencies)
+
+
+
+
+ ..\..\include;..\..\..\misc;%(AdditionalIncludeDirectories)
+ WIN32;_CONSOLE;HAVE_INET_PTON;HAVE_INET_NTOP;FD_SETSIZE=1024;HAVE_SELECT;HAVE_IO_H;_CRT_SECURE_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NDEBUG;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+
+ Level3
+ ProgramDatabase
+ 4142;%(DisableSpecificWarnings)
+ $(IntDir)%(RelativeDir)%(Filename).obj
+
+
+ ws2_32.lib;%(AdditionalDependencies)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mk/win32/re.vcxproj.filters b/mk/win32/re.vcxproj.filters
new file mode 100644
index 0000000..0e9198a
--- /dev/null
+++ b/mk/win32/re.vcxproj.filters
@@ -0,0 +1,878 @@
+
+
+
+
+ {24ec5e26-1680-4fb0-8766-02a6834e676d}
+
+
+ {f97cb0a3-607e-4302-a41d-cbac8aad6bd7}
+
+
+ {57a0561c-ea6e-45d0-a034-72d1fabd97ca}
+
+
+ {974b5b66-04cf-4237-9e6c-f706acb078bd}
+
+
+ {0115caca-c0eb-469d-9f51-1a8a53a4cf36}
+
+
+ {e46ff0a0-f978-4356-8103-804f228ce65d}
+
+
+ {7f1f0174-24be-4049-bccd-c03c00e5bacc}
+
+
+ {b277177e-4cd2-4028-8e24-b12237bd4122}
+
+
+ {d1a8c49e-d20f-4bca-ab49-7dd50593c09a}
+
+
+ {469bd25d-3ebd-474b-b13c-6914bfa44f2e}
+
+
+ {793d3b1b-a4a5-49a7-aeb4-fc3be5944d3b}
+
+
+ {da8a92af-e8a6-45c6-9708-aa18e3adb084}
+
+
+ {5d4ea0d3-afee-4f12-8a79-ac4c8447777a}
+
+
+ {ed8fd6a9-58aa-47c4-b1f7-34e1ac182b87}
+
+
+ {e29353b1-55db-453e-91c6-f7f37748147c}
+
+
+ {f3ce68eb-55bb-46b2-8d3f-1b1048fad972}
+
+
+ {c6620f98-9fd7-45ea-9b58-cc2c4a3b6f2d}
+
+
+ {60bd6b3a-4f71-48fb-a161-10ce29910d93}
+
+
+ {8643b7af-6ec5-43b4-b0fe-399a79d445cc}
+
+
+ {f7c75b83-f284-430c-b18c-b2633914a750}
+
+
+ {779e44ed-0935-450c-a3dd-7bdef53a1179}
+
+
+ {1bff8dd5-d220-4f10-8c26-64c82522d824}
+
+
+ {9ea33625-0411-4065-a16b-ce3f49d3ca15}
+
+
+ {955109b7-ec66-49d3-b4cf-0ba816e095e4}
+
+
+ {31d6e0d5-7c9d-4ca7-a911-4be6b45291b0}
+
+
+ {249dc72a-9cb9-45fa-bdd1-742fafb1d831}
+
+
+ {e6d208f2-2ef2-49bc-a13a-d66885a1dd61}
+
+
+ {fc6552c5-e5cd-4f77-9daa-77361089d71f}
+
+
+ {eb84b7a5-764a-43c4-98b1-90c989cbe8e7}
+
+
+ {09180e07-9646-454c-ae1a-7bfdc9ec96cc}
+
+
+ {4d08218c-9027-430b-bec4-5b435620ca77}
+
+
+ {3489e5fe-f25d-4410-a351-8c485609a49a}
+
+
+ {c33fec0f-9764-431d-9fe3-46704e850f6b}
+
+
+ {fb912922-9084-4a6a-b36f-cf7039fbdf59}
+
+
+ {bf38bff6-d13b-40e9-908f-73aa6bd29dc2}
+
+
+ {8723551b-d33a-464f-b15e-d477b65d8d34}
+
+
+ {c9915c2b-1f49-45bc-9552-8679bd697f23}
+
+
+ {c8b66d98-2787-4b05-be8c-d4acd28dbf9e}
+
+
+ {ac3c7db7-cb2d-4191-9c45-f499de912f51}
+
+
+ {9a795fdf-efaf-4ea1-b7c7-671616e84f0a}
+
+
+ {2af593ee-1fa6-44c1-b6ca-01d437c39397}
+
+
+ {37c6bc4f-8fd1-40cf-b04c-77ae5d7f80c6}
+
+
+ {6aae1e31-0191-4c51-a470-c43be58ae837}
+
+
+ {f029350a-d256-4dda-889b-430f65615047}
+
+
+ {c1c4b382-5196-45dc-9185-1b321a34caa2}
+
+
+ {7590d26c-f92a-4da7-89be-857b74649099}
+
+
+ {394be8ad-8a7d-4ed8-93a5-cf4a1c9f5c37}
+
+
+ {26df0238-b37e-4c97-97d4-549f23a4fb1b}
+
+
+ {3f9bcd72-2513-4e1e-826e-6df1e9c3fa3e}
+
+
+ {7a203acf-4223-4b71-8705-995eac29db75}
+
+
+ {5bb58e89-4183-4380-993a-d01d1bc3d9d9}
+
+
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ src\turn
+
+
+ src\stun
+
+
+ src\srtp
+
+
+ src\sipsess
+
+
+ src\sipevent
+
+
+ src\sip
+
+
+ src\sdp
+
+
+ src\sa
+
+
+ src\rtp
+
+
+ src\mqueue
+
+
+ src\mod
+
+
+ src\md5
+
+
+ src\main
+
+
+ src\ice
+
+
+ src\dns
+
+
+ src\bfcp
+
+
+
+
+ src\uri
+
+
+ src\uri
+
+
+ src\uri
+
+
+ src\udp
+
+
+ src\udp
+
+
+ src\turn
+
+
+ src\turn
+
+
+ src\turn
+
+
+ src\tmr
+
+
+ src\telev
+
+
+ src\tcp
+
+
+ src\tcp
+
+
+ src\sys
+
+
+ src\sys
+
+
+ src\sys
+
+
+ src\sys
+
+
+ src\sys
+
+
+ src\sys
+
+
+ src\stun
+
+
+ src\stun
+
+
+ src\stun
+
+
+ src\stun
+
+
+ src\stun
+
+
+ src\stun
+
+
+ src\stun
+
+
+ src\stun
+
+
+ src\stun
+
+
+ src\stun
+
+
+ src\stun
+
+
+ src\stun
+
+
+ src\srtp
+
+
+ src\srtp
+
+
+ src\srtp
+
+
+ src\srtp
+
+
+ src\srtp
+
+
+ src\sipsess
+
+
+ src\sipsess
+
+
+ src\sipsess
+
+
+ src\sipsess
+
+
+ src\sipsess
+
+
+ src\sipsess
+
+
+ src\sipsess
+
+
+ src\sipsess
+
+
+ src\sipsess
+
+
+ src\sipsess
+
+
+ src\sipreg
+
+
+ src\sipevent
+
+
+ src\sipevent
+
+
+ src\sipevent
+
+
+ src\sipevent
+
+
+ src\sip
+
+
+ src\sip
+
+
+ src\sip
+
+
+ src\sip
+
+
+ src\sip
+
+
+ src\sip
+
+
+ src\sip
+
+
+ src\sip
+
+
+ src\sip
+
+
+ src\sip
+
+
+ src\sip
+
+
+ src\sip
+
+
+ src\sip
+
+
+ src\sip
+
+
+ src\sip
+
+
+ src\sdp
+
+
+ src\sdp
+
+
+ src\sdp
+
+
+ src\sdp
+
+
+ src\sdp
+
+
+ src\sdp
+
+
+ src\sdp
+
+
+ src\sa
+
+
+ src\sa
+
+
+ src\sa
+
+
+ src\sa
+
+
+ src\rtp
+
+
+ src\rtp
+
+
+ src\rtp
+
+
+ src\rtp
+
+
+ src\rtp
+
+
+ src\rtp
+
+
+ src\rtp
+
+
+ src\rtp
+
+
+ src\rtp
+
+
+ src\rtp
+
+
+ src\odict
+
+
+ src\odict
+
+
+ src\odict
+
+
+ src\net
+
+
+ src\net
+
+
+ src\net
+
+
+ src\net
+
+
+ src\net
+
+
+ src\net
+
+
+ src\net\win32
+
+
+ src\natbd
+
+
+ src\natbd
+
+
+ src\natbd
+
+
+ src\natbd
+
+
+ src\natbd
+
+
+ src\natbd
+
+
+ src\msg
+
+
+ src\msg
+
+
+ src\mqueue
+
+
+ src\mqueue\win32
+
+
+ src\mod
+
+
+ src\mod\win32
+
+
+ src\mem
+
+
+ src\md5
+
+
+ src\md5
+
+
+ src\mbuf
+
+
+ src\main
+
+
+ src\main
+
+
+ src\main
+
+
+ src\lock\win32
+
+
+ src\list
+
+
+ src\json
+
+
+ src\json
+
+
+ src\json
+
+
+ src\jbuf
+
+
+ src\ice
+
+
+ src\ice
+
+
+ src\ice
+
+
+ src\ice
+
+
+ src\ice
+
+
+ src\ice
+
+
+ src\ice
+
+
+ src\ice
+
+
+ src\ice
+
+
+ src\ice
+
+
+ src\ice
+
+
+ src\ice
+
+
+ src\httpauth
+
+
+ src\httpauth
+
+
+ src\http
+
+
+ src\http
+
+
+ src\http
+
+
+ src\http
+
+
+ src\hmac
+
+
+ src\hmac
+
+
+ src\hash
+
+
+ src\hash
+
+
+ src\fmt
+
+
+ src\fmt
+
+
+ src\fmt
+
+
+ src\fmt
+
+
+ src\fmt
+
+
+ src\fmt
+
+
+ src\fmt
+
+
+ src\fmt
+
+
+ src\fmt
+
+
+ src\fmt
+
+
+ src\dns
+
+
+ src\dns
+
+
+ src\dns
+
+
+ src\dns
+
+
+ src\dns
+
+
+ src\dns
+
+
+ src\dns
+
+
+ src\dns\win32
+
+
+ src\dbg
+
+
+ src\crc32
+
+
+ src\conf
+
+
+ src\bfcp
+
+
+ src\bfcp
+
+
+ src\bfcp
+
+
+ src\bfcp
+
+
+ src\bfcp
+
+
+ src\aes
+
+
+ src\base64
+
+
+ src\sha
+
+
+
+
+ src\srtp
+
+
+
\ No newline at end of file
diff --git a/src/fmt/print.c b/src/fmt/print.c
index 50872de..85e9ebf 100644
--- a/src/fmt/print.c
+++ b/src/fmt/print.c
@@ -11,9 +11,13 @@
#include
#ifdef _MSC_VER
#include
+#ifndef isinf
#define isinf(d) (!_finite(d))
+#endif
+#ifndef isnan
#define isnan(d) _isnan(d)
#endif
+#endif
#ifdef SOLARIS
#include
#undef isinf
diff --git a/src/sys/fs.c b/src/sys/fs.c
index c9bc805..033e636 100644
--- a/src/sys/fs.c
+++ b/src/sys/fs.c
@@ -15,12 +15,10 @@
#include
#endif
#ifdef WIN32
-#define WIN32_LEAN_AND_MEAN
#include
#include
#include
#include
-#undef WIN32_LEAN_AND_MEAN
#endif
#include
#include