Fix if_version for interfaces with a if_version_minor field different from 0
authorJulien Kerihuel <j.kerihuel@openchange.org>
Fri, 30 May 2008 22:47:14 +0000 (00:47 +0200)
committerStefan Metzmacher <metze@samba.org>
Fri, 27 Jun 2008 10:43:04 +0000 (12:43 +0200)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
source/pidl/lib/Parse/Pidl/NDR.pm

index 33e5ad31961d938d1b6a4077f80cd06fd88e55bf..1e4504764aa9d52ae289ca5268ab424dddec57bf 100644 (file)
@@ -688,7 +688,12 @@ sub ParseInterface($)
        $version = "0.0";
 
        if(defined $idl->{PROPERTIES}->{version}) { 
-               $version = $idl->{PROPERTIES}->{version}; 
+               my @if_version = split(/\./, $idl->{PROPERTIES}->{version});
+               if ($if_version[0] == $idl->{PROPERTIES}->{version}) {
+                               $version = $idl->{PROPERTIES}->{version};
+               } else {
+                               $version = $if_version[1] << 16 | $if_version[0];
+               }
        }
 
        # If no endpoint is set, default to the interface name as a named pipe