autofs-5.0.6 - fix function to check mount.nfs version

From: Leonardo Chiquitto <leonardo.lists@gmail.com>

The function check_nfs_mount_version() compares the version
of mount.nfs to decide whether a feature is available or not.

There's a bug in the version comparison code that causes
1.3.0 to be considered less than 1.1.1. This patch fixes it.
---

 CHANGELOG    |    1 +
 lib/mounts.c |   17 +++++------------
 2 files changed, 6 insertions(+), 12 deletions(-)


diff --git a/CHANGELOG b/CHANGELOG
index 7abea14..a33201d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -35,6 +35,7 @@
 - systemd support fixes.
 - check scandir() return value.
 - allow for kernel packet size change (in kernel 3.3.0+).
+- fix function to check mount.nfs version.
 
 28/06/2011 autofs-5.0.6
 -----------------------
diff --git a/lib/mounts.c b/lib/mounts.c
index e218c79..e0c2326 100644
--- a/lib/mounts.c
+++ b/lib/mounts.c
@@ -249,18 +249,11 @@ int check_nfs_mount_version(struct nfs_mount_vers *vers,
 	}
 
 	if (ret) {
-		if (vers->major == check->major &&
-		    vers->minor == check->minor &&
-		    vers->fix == check->fix)
-			;
-		else {
-			if (vers->major < check->major)
-				ret = 0;
-			else if (vers->minor < check->minor)
-				ret = 0;
-			else if (vers->fix < check->fix)
-				ret = 0;
-		}
+		if ((vers->major < check->major) ||
+		    ((vers->major == check->major) && (vers->minor < check->minor)) ||
+		    ((vers->major == check->major) && (vers->minor == check->minor) &&
+		     (vers->fix < check->fix)))
+			ret = 0;
 	}
 
 	if (waitpid(f, &status, 0) != f) ;