Multiple C4306 warnings (conversion from 'type1' to 'type2' of greater size)
appear during 64-bit compilation with MSVC 2010 (and older) due to extensively
used constructs like "(void *) -1", so they were disabled.
In newer MSVC versions C4306 warnings were replaced with C4312 ones, and
these are not generated for such trivial type casts.
/* array is too small to include a terminating null character */
#pragma warning(disable:4295)
+/* conversion from 'type1' to 'type2' of greater size */
+#pragma warning(disable:4306)
+
#endif