diff --git a/UnitTests/UnitTests.vcxproj b/UnitTests/UnitTests.vcxproj
index 3bd737b38..0b8b298a2 100644
--- a/UnitTests/UnitTests.vcxproj
+++ b/UnitTests/UnitTests.vcxproj
@@ -128,6 +128,7 @@
+
diff --git a/UnitTests/UnitTests.vcxproj.filters b/UnitTests/UnitTests.vcxproj.filters
index 09af76837..083565803 100644
--- a/UnitTests/UnitTests.vcxproj.filters
+++ b/UnitTests/UnitTests.vcxproj.filters
@@ -41,5 +41,8 @@
Header Files
+
+ Header Files
+
\ No newline at end of file
diff --git a/UnitTests/stream.cpp b/UnitTests/stream.cpp
index 31c880411..2fcd6599f 100644
--- a/UnitTests/stream.cpp
+++ b/UnitTests/stream.cpp
@@ -112,7 +112,7 @@ namespace UnitTests
sstring filename[count];
stdex::stream::fpos_t start[count];
for (uint32_t i = 0; i < count; ++i) {
- filename[i] = filepath + sprintf(_T("stdex-stream-open_close%zu.tmp"), NULL, i);
+ filename[i] = filepath + sprintf(_T("stdex-stream-open_close%u.tmp"), NULL, i);
dat.open(filename[i].c_str(), mode_for_reading | mode_for_writing | share_none | mode_preserve_existing | mode_binary);
Assert::IsTrue(dat.ok());
start[i] = dat.tell();
diff --git a/include/stdex/endian.hpp b/include/stdex/endian.hpp
index c7edd0d55..61751f7c5 100644
--- a/include/stdex/endian.hpp
+++ b/include/stdex/endian.hpp
@@ -101,8 +101,18 @@ namespace stdex
inline int16_t byteswap(_In_ const int16_t value) { return byteswap(static_cast(value)); }
inline int32_t byteswap(_In_ const int32_t value) { return byteswap(static_cast(value)); }
inline int64_t byteswap(_In_ const int64_t value) { return byteswap(static_cast(value)); }
- inline float byteswap(_In_ const float value) { return byteswap(*reinterpret_cast(&value)); }
- inline double byteswap(_In_ const double value) { return byteswap(*reinterpret_cast(&value)); }
+
+ inline float byteswap(_In_ const float value)
+ {
+ uint32_t r = byteswap(*reinterpret_cast(&value));
+ return *reinterpret_cast(&r);
+ }
+
+ inline double byteswap(_In_ const double value)
+ {
+ uint64_t r = byteswap(*reinterpret_cast(&value));
+ return *reinterpret_cast(&r);
+ }
inline void byteswap(_Inout_ uint8_t* value) { assert(value); *value = byteswap(*value); }
inline void byteswap(_Inout_ uint16_t* value) { assert(value); *value = byteswap(*value); }