X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=diff.c;h=890bdaa6b8a22dad667807cc3d835ccd9fb8056a;hb=6ead3972f54e290b255b9c5379a2f9a35ec9f847;hp=8ae6dbc64e3c6c96e37755644d14998dc6e44a5a;hpb=6b1ddbdd6e02719ae2be55dc141a176187e5027e;p=git.git diff --git a/diff.c b/diff.c index 8ae6dbc6..890bdaa6 100644 --- a/diff.c +++ b/diff.c @@ -555,6 +555,8 @@ static void remove_tempfile(void) static void remove_tempfile_on_signal(int signo) { remove_tempfile(); + signal(SIGINT, SIG_DFL); + raise(signo); } /* An external diff command takes: @@ -961,7 +963,7 @@ void diff_free_filepair(struct diff_filepair *p) } /* This is different from find_unique_abbrev() in that - * it needs to deal with 0{40} SHA1. + * it stuffs the result with dots for alignment. */ const char *diff_unique_abbrev(const unsigned char *sha1, int len) { @@ -971,16 +973,8 @@ const char *diff_unique_abbrev(const unsigned char *sha1, int len) return sha1_to_hex(sha1); abbrev = find_unique_abbrev(sha1, len); - if (!abbrev) { - if (!memcmp(sha1, null_sha1, 20)) { - char *buf = sha1_to_hex(null_sha1); - if (len < 37) - strcpy(buf + len, "..."); - return buf; - } - else - return sha1_to_hex(sha1); - } + if (!abbrev) + return sha1_to_hex(sha1); abblen = strlen(abbrev); if (abblen < 37) { static char hex[41];