projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
builtin-grep: pass ignore case option to external grep
[git.git]
/
csum-file.c
diff --git
a/csum-file.c
b/csum-file.c
index
c8c7369
..
5f9249a
100644
(file)
--- a/
csum-file.c
+++ b/
csum-file.c
@@
-15,7
+15,7
@@
static int sha1flush(struct sha1file *f, unsigned int count)
void *buf = f->buffer;
for (;;) {
void *buf = f->buffer;
for (;;) {
- int ret = write(f->fd, buf, count);
+ int ret =
x
write(f->fd, buf, count);
if (ret > 0) {
buf += ret;
count -= ret;
if (ret > 0) {
buf += ret;
count -= ret;
@@
-25,8
+25,6
@@
static int sha1flush(struct sha1file *f, unsigned int count)
}
if (!ret)
die("sha1 file '%s' write error. Out of diskspace", f->name);
}
if (!ret)
die("sha1 file '%s' write error. Out of diskspace", f->name);
- if (errno == EAGAIN || errno == EINTR)
- continue;
die("sha1 file '%s' write error (%s)", f->name, strerror(errno));
}
}
die("sha1 file '%s' write error (%s)", f->name, strerror(errno));
}
}
@@
-45,6
+43,7
@@
int sha1close(struct sha1file *f, unsigned char *result, int update)
sha1flush(f, 20);
if (close(f->fd))
die("%s: sha1 file error on close (%s)", f->name, strerror(errno));
sha1flush(f, 20);
if (close(f->fd))
die("%s: sha1 file error on close (%s)", f->name, strerror(errno));
+ free(f);
return 0;
}
return 0;
}
@@
-86,7
+85,7
@@
struct sha1file *sha1create(const char *fmt, ...)
die("you wascally wabbit, you");
f->namelen = len;
die("you wascally wabbit, you");
f->namelen = len;
- fd = open(f->name, O_CREAT | O_EXCL | O_WRONLY, 06
44
);
+ fd = open(f->name, O_CREAT | O_EXCL | O_WRONLY, 06
66
);
if (fd < 0)
die("unable to open %s (%s)", f->name, strerror(errno));
f->fd = fd;
if (fd < 0)
die("unable to open %s (%s)", f->name, strerror(errno));
f->fd = fd;