as mentioned by Graham Bloice:
authorulfl <ulfl@f5534014-38df-0310-8fa8-9805f1628bb7>
Sat, 24 Mar 2007 02:45:45 +0000 (02:45 +0000)
committerulfl <ulfl@f5534014-38df-0310-8fa8-9805f1628bb7>
Sat, 24 Mar 2007 02:45:45 +0000 (02:45 +0000)
sockaddr_storage doesn't depend on the MSVC version used, but the version of the Winsock API, which might be updated by the Platform SDK even on MSVC 6 - so depending on the _MSC_VER is not the way to go

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21162 f5534014-38df-0310-8fa8-9805f1628bb7

capture_wpcap_packet.c
gtk/capture_if_details_dlg.c

index 4b58cd37c4c653c3921e54b4892bf774515fc222..e7a458d88cef7474b14946538fc5483f9088650a 100644 (file)
@@ -63,13 +63,10 @@ typedef unsigned short eth_sa_family_t;
 #define ETH_SS_PAD2SIZE   (ETH_SS_MAXSIZE - (sizeof (eth_sa_family_t) + \
                               ETH_SS_PAD1SIZE + ETH_SS_ALIGNSIZE))
 
-/* sockaddr_storage problem with different MSVC versions
- * - MSVC 6   (1200) doesn't define this
- * - MSVC 7   (1300) does
- * - MSVC 7.1 (1310) does
- * - MSVC 8   (1400) does */
-/* we might need to tweak this #if, see version_info for _MSC_VER values */
-#if _MSC_VER < 1300
+/* sockaddr_storage seems to depend if a Platform SDK is installed,
+   (or to be more precise, if WINSOCK2 is available)
+   and not on the MSVC version installed */
+#if defined _WIN32 && !defined _WINSOCK2API_
 struct sockaddr_storage {
     eth_sa_family_t  __ss_family;     /* address family */
     /* Following fields are implementation specific */
@@ -85,8 +82,8 @@ struct sockaddr_storage {
               /* __ss_pad1, __ss_align fields is 112 */
 };
 /* ... copied from RFC2553 */
-#endif /* _MSC_VER */
-#endif
+#endif /* _WIN32 */
+#endif /* HAVE_SOCKADDR_STORAGE */
 
 
 #include <Packet32.h>
index 59c0dd7e7c447b81f6dd2ba434b59951d68337a4..8f1ea3884b96b25b38b9871f5131d3701447647a 100644 (file)
@@ -71,13 +71,10 @@ typedef unsigned short eth_sa_family_t;
 #define ETH_SS_PAD2SIZE   (ETH_SS_MAXSIZE - (sizeof (eth_sa_family_t) + \
                               ETH_SS_PAD1SIZE + ETH_SS_ALIGNSIZE))
 
-/* sockaddr_storage problem with different MSVC versions
- * - MSVC 6   (1200) doesn't define this
- * - MSVC 7   (1300) does
- * - MSVC 7.1 (1310) does
- * - MSVC 8   (1400) does */
-/* we might need to tweak this #if, see version_info for _MSC_VER values */
-#if _MSC_VER < 1300
+/* sockaddr_storage seems to depend if a Platform SDK is installed,
+   (or to be more precise, if WINSOCK2 is available)
+   and not on the MSVC version installed */
+#if defined _WIN32 && !defined _WINSOCK2API_
 struct sockaddr_storage {
     eth_sa_family_t  __ss_family;     /* address family */
     /* Following fields are implementation specific */
@@ -93,8 +90,8 @@ struct sockaddr_storage {
               /* __ss_pad1, __ss_align fields is 112 */
 };
 /* ... copied from RFC2553 */
-#endif /* _MSC_VER */
-#endif
+#endif /* _WIN32 */
+#endif /* HAVE_SOCKADDR_STORAGE */
 
 
 #include <Packet32.h>