From 5b66c9704ff51abedb16683fdd70c5d2b2d32805 Mon Sep 17 00:00:00 2001 From: Martin Koegler Date: Tue, 8 Feb 2011 08:17:51 +0100 Subject: [PATCH] More compilant NAT support Signed-off-by: Martin Koegler --- eibd/libserver/eibnetip.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/eibd/libserver/eibnetip.cpp b/eibd/libserver/eibnetip.cpp index 91dfdf6..c6c42af 100644 --- a/eibd/libserver/eibnetip.cpp +++ b/eibd/libserver/eibnetip.cpp @@ -300,16 +300,15 @@ EIBnettoIP (const CArray & buf, struct sockaddr_in *a, a->sin_len = sizeof (*a); #endif a->sin_family = AF_INET; - if (port == 0 && ip == 0) - { - a->sin_port = src->sin_port; - a->sin_addr.s_addr = src->sin_addr.s_addr; - } + if (port == 0) + a->sin_port = src->sin_port; else - { - a->sin_port = htons (port); - a->sin_addr.s_addr = htonl (ip); - } + a->sin_port = htons (port); + if (ip == 0) + a->sin_addr.s_addr = src->sin_addr.s_addr; + else + a->sin_addr.s_addr = htonl (ip); + return 0; } -- 2.11.4.GIT