BUG/MEDIUM: variables: some variable name can hide another ones

The variable are compared only using text, the final '\0' (or the
string length) are not checked. So, the variable name "txn.internal"
matchs other one call "txn.int".

This patch fix this behavior

It must be backported ni 1.6 and 1.7
diff --git a/src/vars.c b/src/vars.c
index 4d18a4f..e5448e5 100644
--- a/src/vars.c
+++ b/src/vars.c
@@ -201,7 +201,7 @@
 
 	/* Look for existing variable name. */
 	for (i = 0; i < var_names_nb; i++)
-		if (strncmp(var_names[i], name, len) == 0)
+		if (strncmp(var_names[i], name, len) == 0 && var_names[i][len] == '\0')
 			return var_names[i];
 
 	if (!alloc)