add_branch_for_removal(): rewrite to take an object_id argument
authorMichael Haggerty <mhagger@alum.mit.edu>
Mon, 25 May 2015 18:38:41 +0000 (18:38 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 25 May 2015 19:19:30 +0000 (12:19 -0700)
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/remote.c
index 27a611bfade2bc84d71bca1f7ff3cca7e74f95e7..1986e987a56b4bca0ade127e5803bd727834e1e5 100644 (file)
@@ -509,7 +509,7 @@ struct branches_for_remote {
 };
 
 static int add_branch_for_removal(const char *refname,
-       const unsigned char *sha1, int flags, void *cb_data)
+       const struct object_id *oid, int flags, void *cb_data)
 {
        struct branches_for_remote *branches = cb_data;
        struct refspec refspec;
@@ -545,7 +545,7 @@ static int add_branch_for_removal(const char *refname,
 
        item = string_list_append(branches->branches, refname);
        item->util = xmalloc(20);
-       hashcpy(item->util, sha1);
+       hashcpy(item->util, oid->hash);
 
        return 0;
 }
@@ -783,8 +783,6 @@ static int rm(int argc, const char **argv)
        struct string_list skipped = STRING_LIST_INIT_DUP;
        struct branches_for_remote cb_data;
        int i, result;
-       struct each_ref_fn_sha1_adapter wrapped_add_branch_for_removal =
-               {add_branch_for_removal, &cb_data};
 
        memset(&cb_data, 0, sizeof(cb_data));
        cb_data.branches = &branches;
@@ -825,7 +823,7 @@ static int rm(int argc, const char **argv)
         * refs, which are invalidated when deleting a branch.
         */
        cb_data.remote = remote;
-       result = for_each_ref(each_ref_fn_adapter, &wrapped_add_branch_for_removal);
+       result = for_each_ref(add_branch_for_removal, &cb_data);
        strbuf_release(&buf);
 
        if (!result)