summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/safeguards.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/safeguards.h b/src/safeguards.h
index 5351116ec..e3d6c4a3e 100644
--- a/src/safeguards.h
+++ b/src/safeguards.h
@@ -69,4 +69,17 @@
#undef abs
#endif
+#if defined(NETWORK_CORE_OS_ABSTRACTION_H) && defined(_WIN32)
+/* Use NetworkGetLastError() instead of errno, or do not (indirectly) include network/core/os_abstraction.h.
+ * Winsock does not set errno, but one should rather call WSAGetLastError. NetworkGetLastError abstracts that away. */
+#ifdef errno
+#undef errno
+#endif
+#define errno SAFEGUARD_DO_NOT_USE_THIS_METHOD
+
+/* Use NetworkGetLastErrorString() instead of strerror, or do not (indirectly) include network/core/os_abstraction.h.
+ * Winsock errors are not handled by strerror, but one should rather call FormatMessage. NetworkGetLastErrorString abstracts that away. */
+#define strerror SAFEGUARD_DO_NOT_USE_THIS_METHOD
+#endif /* defined(NETWORK_CORE_OS_ABSTRACTION_H) && defined(_WIN32) */
+
#endif /* SAFEGUARDS_H */