From 3fc57bcaac19a81867f92eb3931a352ebf0fa1f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B5=D0=BB=D0=B8=D0=BF=D0=B5=D0=BD=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD?= Date: Thu, 21 May 2015 06:44:20 +0000 Subject: [PATCH] blackberry release git-svn-id: svn://db.shs.com.ru/pip@135 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5 --- src/io/piethernet.cpp | 42 ++++++++---------------------------------- 1 file changed, 8 insertions(+), 34 deletions(-) diff --git a/src/io/piethernet.cpp b/src/io/piethernet.cpp index 0861e913..635748bf 100755 --- a/src/io/piethernet.cpp +++ b/src/io/piethernet.cpp @@ -28,6 +28,8 @@ # else # include # endif +# define ip_mreqn ip_mreq +# define imr_address imr_interface #endif #ifdef WINDOWS # include @@ -341,13 +343,7 @@ bool PIEthernet::joinMulticastGroup(const PIString & group) { if (!params[Broadcast]) ;//piCoutObj << "Warning: \"Broadcast\" parameter not set, \"joinMulticastGroup(\"" << group << "\")\" may be useless!"; parseAddress(path(), &ip_, &port_); - struct -#ifndef QNX - ip_mreqn -#else - ip_mreq -#endif - mreq; + struct ip_mreqn mreq; memset(&mreq, 0, sizeof(mreq)); #ifdef LINUX //mreq.imr_address.s_addr = INADDR_ANY; @@ -355,16 +351,8 @@ bool PIEthernet::joinMulticastGroup(const PIString & group) { const PIEthernet::Interface * ci = il.getByAddress(ip_); if (ci != 0) mreq.imr_ifindex = ci->index;*/ #endif - in_addr_t addr; - if (params[PIEthernet::Broadcast]) addr = INADDR_ANY; - else addr = inet_addr(ip_.dataAscii()); - mreq. -#ifndef QNX - imr_address -#else - imr_interface -#endif - .s_addr = addr; + if (params[PIEthernet::Broadcast]) mreq.imr_address.s_addr = INADDR_ANY; + else mreq.imr_address.s_addr = inet_addr(ip_.dataAscii()); /*#ifndef WINDOWS PIEthernet::InterfaceList il = interfaces(); const PIEthernet::Interface * ci = il.getByAddress(ip_); @@ -407,24 +395,10 @@ bool PIEthernet::leaveMulticastGroup(const PIString & group) { PIFlags params = parameters(); /// TODO windows parseAddress(path(), &ip_, &port_); - struct -#ifndef QNX - ip_mreqn -#else - ip_mreq -#endif - mreq; + struct ip_mreqn mreq; memset(&mreq, 0, sizeof(mreq)); - in_addr_t addr; - if (params[PIEthernet::Broadcast]) addr = INADDR_ANY; - else addr = inet_addr(ip_.dataAscii()); - mreq. -#ifndef QNX - imr_address -#else - imr_interface -#endif - .s_addr = addr; + if (params[PIEthernet::Broadcast]) mreq.imr_address.s_addr = INADDR_ANY; + else mreq.imr_address.s_addr = inet_addr(ip_.dataAscii()); mreq.imr_multiaddr.s_addr = inet_addr(group.dataAscii()); if (ethSetsockopt(sock, IPPROTO_IP, IP_DROP_MEMBERSHIP, &mreq, sizeof(mreq)) == -1) { piCoutObj << "Can`t leave multicast group " << group << ", " << ethErrorString();