Bläddra i källkod

u-a: Do not use alternative_has_current_link() in alternative_is_broken()

The code is calling alternative_get_current() later on in the function,
and that one is implicitly calling alternative_has_current_link(), so
just defer the check to avoid doing redundant operations.
Guillem Jover 14 år sedan
förälder
incheckning
cda883e56c
1 ändrade filer med 3 tillägg och 3 borttagningar
  1. 3 3
      utils/update-alternatives.c

+ 3 - 3
utils/update-alternatives.c

@@ -1822,9 +1822,6 @@ alternative_is_broken(struct alternative *a)
 	struct fileset *fs;
 	struct slave_link *sl;
 
-	if (!alternative_has_current_link(a))
-		return true;
-
 	/* Check master link */
 	altlnk = areadlink(a->master_link);
 	if (!altlnk)
@@ -1840,6 +1837,9 @@ alternative_is_broken(struct alternative *a)
 
 	/* Stop if we have an unmanaged alternative */
 	current = alternative_get_current(a);
+	if (current == NULL)
+		return true;
+
 	if (!alternative_has_choice(a, current)) {
 		free(current);
 		return false;