The check_all argument is pointless, because the function degenerates
to !same_trailer when check_all==0 (if same_trailer fails, it always
ends up returning 1).  Remove it, switching the check_all==0 caller
to use same_trailer directly.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
---
 trailer.c | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/trailer.c b/trailer.c
index 4ba28ae33..91f89db7f 100644
--- a/trailer.c
+++ b/trailer.c
@@ -194,14 +194,11 @@ static void add_arg_to_input_list(struct trailer_item 
*on_tok,
 
 static int check_if_different(struct trailer_item *in_tok,
                              struct arg_item *arg_tok,
-                             int check_all,
                              struct list_head *head)
 {
        enum trailer_where where = arg_tok->conf.where;
        struct list_head *next_head;
-       do {
-               if (same_trailer(in_tok, arg_tok))
-                       return 0;
+       while (!same_trailer(in_tok, arg_tok)) {
                /*
                 * if we want to add a trailer after another one,
                 * we have to check those before this one
@@ -209,10 +206,10 @@ static int check_if_different(struct trailer_item *in_tok,
                next_head = after_or_end(where) ? in_tok->list.prev
                                                : in_tok->list.next;
                if (next_head == head)
-                       break;
+                       return 1;
                in_tok = list_entry(next_head, struct trailer_item, list);
-       } while (check_all);
-       return 1;
+       }
+       return 0;
 }
 
 static char *apply_command(const char *command, const char *arg)
@@ -283,12 +280,12 @@ static void apply_arg_if_exists(struct trailer_item 
*in_tok,
                break;
        case EXISTS_ADD_IF_DIFFERENT:
                apply_item_command(in_tok, arg_tok);
-               if (check_if_different(in_tok, arg_tok, 1, head))
+               if (check_if_different(in_tok, arg_tok, head))
                        add_arg_to_input_list(on_tok, arg_tok);
                break;
        case EXISTS_ADD_IF_DIFFERENT_NEIGHBOR:
                apply_item_command(in_tok, arg_tok);
-               if (check_if_different(on_tok, arg_tok, 0, head))
+               if (!same_trailer(on_tok, arg_tok))
                        add_arg_to_input_list(on_tok, arg_tok);
                break;
        default:
-- 
2.14.2


Reply via email to