#define STDC_Pragma_AVAILABLE
#elif defined(_MSC_VER)
+#if _MSC_VER > 1916
#define DISABLE_WARNING_UNREACHABLE_CODE \
_Pragma("warning( push )") \
_Pragma("warning( disable : 4702 )")
#define RESTORE_WARNING_FORMAT_NONLITERAL _Pragma("warning( pop )")
#define RESTORE_WARNINGS _Pragma("warning( pop )")
#define STDC_Pragma_AVAILABLE
+#else /* Visual Studio prior to 2019 below */
+#define DISABLE_WARNING_UNREACHABLE_CODE \
+ __pragma(warning(push)) \
+ __pragma(warning(disable:4702))
+#define DISABLE_WARNING_FORMAT_NONLITERAL \
+ __pragma(warning(push)) \
+ __pragma(warning(disable:4774))
+#define DISABLE_WARNING_CONDEXPR_IS_CONSTANT \
+ __pragma(warning(push)) \
+ __pragma(warning(disable:4127))
+#define RESTORE_WARNING_CONDEXPR_IS_CONSTANT __pragma(warning(pop))
+#define RESTORE_WARNING_FORMAT_NONLITERAL __pragma(warning(pop))
+#define RESTORE_WARNINGS __pragma(warning(pop))
+#define STDC_Pragma_AVAILABLE
+#endif /* vs2019 or vs2017 */
#endif /* various compiler detections */
#endif /* ACTIVATE_WARNING_PRAGMAS */
/* grow the size of the console buffer if it is not wide enough */
if (console.origcsbi.dwSize.X < console.width) {
- COORD screen_size = {
- screen_size.Y = console.origcsbi.dwSize.Y,
- screen_size.X = console.width
- };
+ COORD screen_size = {0};
+ screen_size.Y = console.origcsbi.dwSize.Y,
+ screen_size.X = console.width;
SetConsoleScreenBufferSize(console.hConOut, screen_size);
}
DeleteObject(brush);
intensity = (wch == 0x2591 ? 100 : 200);
brush = CreateSolidBrush(RGB(intensity, intensity, intensity));
- RECT smallRect = { rect->left + 1, rect->top + 1,
- rect->right - 1, rect->bottom - 1 };
+ RECT smallRect = {0};
+ smallRect.left = rect->left + 1;
+ smallRect.top = rect->top + 1;
+ smallRect.right = rect->right - 1;
+ smallRect.bottom = rect->bottom - 1;
FillRect(data->backBufferDC, &smallRect, brush);
DeleteObject(brush);
} else {