From d0f82e94e878c0dc4194c8427c70c3d75427da52 Mon Sep 17 00:00:00 2001 From: Marc Pujol Date: Fri, 30 May 2014 15:47:18 +0200 Subject: [PATCH] Ensure there are no duplicates in the merged/intersected lists --- lib/ansible/utils/__init__.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/ansible/utils/__init__.py b/lib/ansible/utils/__init__.py index 042f0fac5e..c9d26e2564 100644 --- a/lib/ansible/utils/__init__.py +++ b/lib/ansible/utils/__init__.py @@ -1004,17 +1004,20 @@ def is_list_of_strings(items): return True def list_union(a, b): - result = list(a) - for i in b: - if i not in result: - result.append(i) + result = [] + for x in a: + if x not in result: + result.append(x) + for x in b: + if x not in result: + result.append(x) return result def list_intersection(a, b): result = [] - for i in a: - if i in b: - result.append(i) + for x in a: + if x in b and x not in result: + result.append(x) return result def safe_eval(expr, locals={}, include_exceptions=False):