Author: sayer
Date: 2010-02-25 17:04:48 +0100 (Thu, 25 Feb 2010)
New Revision: 1643

Modified:
   trunk/core/sems.cpp
Log:
avoid that compiler warning about dereferencing type-punned pointer by copying 
first

Modified: trunk/core/sems.cpp
===================================================================
--- trunk/core/sems.cpp 2010-02-25 15:57:17 UTC (rev 1642)
+++ trunk/core/sems.cpp 2010-02-25 16:04:48 UTC (rev 1643)
@@ -479,8 +479,10 @@
   for(int i=0; i<n_dev; i++){
     if(ifrs[i].ifr_addr.sa_family==PF_INET){
       struct sockaddr_in* sa = (struct sockaddr_in*)&ifrs[i].ifr_addr;
+      struct sockaddr_in sa4;
+      memcpy(&sa4, sa, sizeof(struct sockaddr_in));
       if_list.push_back(make_pair((char*)ifrs[i].ifr_name,
-                                 inet_ntoa(sa->sin_addr)));
+                                 inet_ntoa(sa4.sin_addr)));
     }
   }
 #else // defined(BSD44SOCKETS)
@@ -534,8 +536,10 @@
 
     if(ifr.ifr_addr.sa_family==PF_INET){
       struct sockaddr_in* sa = (struct sockaddr_in*)&ifr.ifr_addr;
+      struct sockaddr_in sa4;
+      memcpy(&sa4, sa, sizeof(struct sockaddr_in));
       if_list.push_back(make_pair((char*)ifr.ifr_name,
-                                 inet_ntoa(sa->sin_addr)));
+                                 inet_ntoa(sa4.sin_addr)));
     }
   }
 

_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to