X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=unpack-file.c;h=65c66eb0bf34efee6485db3dbf8af11788c394f4;hb=998b912927281a871e8d379e2b3a4385c775c4fe;hp=ccddf1d4b0cf7fd3a699d8b33cf5bc4c5c4435b7;hpb=0825de892f1796e6ca6ac81e0af10f6c136a9f1d;p=git.git diff --git a/unpack-file.c b/unpack-file.c index ccddf1d4b..65c66eb0b 100644 --- a/unpack-file.c +++ b/unpack-file.c @@ -5,19 +5,17 @@ static char *create_temp_file(unsigned char *sha1) { static char path[50]; void *buf; - char type[100]; + enum object_type type; unsigned long size; int fd; - buf = read_sha1_file(sha1, type, &size); - if (!buf || strcmp(type, blob_type)) + buf = read_sha1_file(sha1, &type, &size); + if (!buf || type != OBJ_BLOB) die("unable to read blob object %s", sha1_to_hex(sha1)); strcpy(path, ".merge_file_XXXXXX"); - fd = mkstemp(path); - if (fd < 0) - die("unable to create temp-file"); - if (write(fd, buf, size) != size) + fd = xmkstemp(path); + if (write_in_full(fd, buf, size) != size) die("unable to write temp-file"); close(fd); return path;