projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use sigaction and SA_RESTART in read-tree.c; add option in Makefile.
[git.git]
/
diff.c
diff --git
a/diff.c
b/diff.c
index
8ae6dbc
..
890bdaa
100644
(file)
--- 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();
static void remove_tempfile_on_signal(int signo)
{
remove_tempfile();
+ signal(SIGINT, SIG_DFL);
+ raise(signo);
}
/* An external diff command takes:
}
/* 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
}
/* 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)
{
*/
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);
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];
abblen = strlen(abbrev);
if (abblen < 37) {
static char hex[41];