coccinelle: convert hashcpy() with null_sha1 to hashclr()
authorbrian m. carlson <sandals@crustytoothpaste.net>
Fri, 24 Jun 2016 23:09:21 +0000 (23:09 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 28 Jun 2016 18:39:02 +0000 (11:39 -0700)
hashcpy with null_sha1 as the source is equivalent to hashclr. In
addition to being simpler, using hashclr may give the compiler a chance
to optimize better. Convert instances of hashcpy with the source
argument of null_sha1 to hashclr.

This transformation was implemented using the following semantic patch:

@@
expression E1;
@@
-hashcpy(E1, null_sha1);
+hashclr(E1);

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/merge.c
builtin/unpack-objects.c
diff.c
submodule-config.c
t/helper/test-submodule-config.c
index b555a1bf9cd46ea57bcbe1c8d8b7ac146fe9f81c..a9b99c9ffc663bbb776d69c4d9886ab1bc5dbc4c 100644 (file)
@@ -1530,7 +1530,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
             * Stash away the local changes so that we can try more than one.
             */
            save_state(stash))
-               hashcpy(stash, null_sha1);
+               hashclr(stash);
 
        for (i = 0; i < use_strategies_nr; i++) {
                int ret;
index 875e7ed99820998aa5d0e18f73b59763201cdb6c..172470bf241e4da731c5741567555d7e01691c74 100644 (file)
@@ -355,7 +355,7 @@ static void unpack_delta_entry(enum object_type type, unsigned long delta_size,
                        return; /* we are done */
                else {
                        /* cannot resolve yet --- queue it */
-                       hashcpy(obj_list[nr].sha1, null_sha1);
+                       hashclr(obj_list[nr].sha1);
                        add_delta_to_list(nr, base_sha1, 0, delta_data, delta_size);
                        return;
                }
@@ -406,7 +406,7 @@ static void unpack_delta_entry(enum object_type type, unsigned long delta_size,
                         * The delta base object is itself a delta that
                         * has not been resolved yet.
                         */
-                       hashcpy(obj_list[nr].sha1, null_sha1);
+                       hashclr(obj_list[nr].sha1);
                        add_delta_to_list(nr, null_sha1, base_offset, delta_data, delta_size);
                        return;
                }
diff --git a/diff.c b/diff.c
index fa78fc189cd7225767817a2d24ef6c3b19bef9d8..f2234012fa7b1517828097d79040063cfd3bcdec 100644 (file)
--- a/diff.c
+++ b/diff.c
@@ -3134,7 +3134,7 @@ static void diff_fill_sha1_info(struct diff_filespec *one)
                if (!one->sha1_valid) {
                        struct stat st;
                        if (one->is_stdin) {
-                               hashcpy(one->sha1, null_sha1);
+                               hashclr(one->sha1);
                                return;
                        }
                        if (lstat(one->path, &st) < 0)
index debab294d421675cdebb129b257808614f607a09..a6c2710f916375a8d922ca0a27cf894472427533 100644 (file)
@@ -368,7 +368,7 @@ static int gitmodule_sha1_from_commit(const unsigned char *commit_sha1,
        int ret = 0;
 
        if (is_null_sha1(commit_sha1)) {
-               hashcpy(gitmodules_sha1, null_sha1);
+               hashclr(gitmodules_sha1);
                return 1;
        }
 
index dab8c27768160d4cfa61c41a95004eb7a8a336b6..7922ffba1de169f1b2acd2cf9d75c4449275b990 100644 (file)
@@ -49,7 +49,7 @@ int main(int argc, char **argv)
                path_or_name = arg[1];
 
                if (commit[0] == '\0')
-                       hashcpy(commit_sha1, null_sha1);
+                       hashclr(commit_sha1);
                else if (get_sha1(commit, commit_sha1) < 0)
                        die_usage(argc, argv, "Commit not found.");