From df76b26737a354612688f1fd098ef9378b6f75bd Mon Sep 17 00:00:00 2001 From: Othmar Gsenger Date: Thu, 11 Dec 2008 13:53:46 +0000 Subject: fixed ip version detection --- src/plainPacket.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/plainPacket.cpp b/src/plainPacket.cpp index 2b5c755..5ada650 100644 --- a/src/plainPacket.cpp +++ b/src/plainPacket.cpp @@ -70,10 +70,12 @@ void PlainPacket::setPayloadType(payload_type_t payload_type) return; } - char * ip_version = reinterpret_cast(payload_); - if(ip_version[0] == 4) + char * ip_version_ptr = reinterpret_cast(payload_); + char ip_version = ip_version_ptr[0]; + ip_version >>=4; + if(ip_version == 4) *payload_type_ = PAYLOAD_TYPE_T_HTON(PAYLOAD_TYPE_TUN4); - else if(ip_version[0] == 6) + else if(ip_version == 6) *payload_type_ = PAYLOAD_TYPE_T_HTON(PAYLOAD_TYPE_TUN6); } else -- cgit v1.2.3