Skip to content

Commit

Permalink
Use xmkstemp() instead of mkstemp()
Browse files Browse the repository at this point in the history
xmkstemp() performs error checking and prints a standard error message when
an error occur.

Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Luiz Fernando N. Capitulino authored and Junio C Hamano committed Aug 15, 2007
1 parent f21a47b commit 7647b17
Show file tree
Hide file tree
Showing 6 changed files with 7 additions and 17 deletions.
4 changes: 1 addition & 3 deletions builtin-pack-objects.c
Original file line number Diff line number Diff line change
Expand Up @@ -586,7 +586,7 @@ static off_t write_one(struct sha1file *f,
static int open_object_dir_tmp(const char *path)
{
snprintf(tmpname, sizeof(tmpname), "%s/%s", get_object_directory(), path);
return mkstemp(tmpname);
return xmkstemp(tmpname);
}

/* forward declaration for write_pack_file */
Expand All @@ -612,8 +612,6 @@ static void write_pack_file(void)
f = sha1fd(1, "<stdout>");
} else {
int fd = open_object_dir_tmp("tmp_pack_XXXXXX");
if (fd < 0)
die("unable to create %s: %s\n", tmpname, strerror(errno));
pack_tmp_name = xstrdup(tmpname);
f = sha1fd(fd, pack_tmp_name);
}
Expand Down
8 changes: 2 additions & 6 deletions fast-import.c
Original file line number Diff line number Diff line change
Expand Up @@ -663,9 +663,7 @@ static void start_packfile(void)

snprintf(tmpfile, sizeof(tmpfile),
"%s/tmp_pack_XXXXXX", get_object_directory());
pack_fd = mkstemp(tmpfile);
if (pack_fd < 0)
die("Can't create %s: %s", tmpfile, strerror(errno));
pack_fd = xmkstemp(tmpfile);
p = xcalloc(1, sizeof(*p) + strlen(tmpfile) + 2);
strcpy(p->pack_name, tmpfile);
p->pack_fd = pack_fd;
Expand Down Expand Up @@ -727,9 +725,7 @@ static char *create_index(void)

snprintf(tmpfile, sizeof(tmpfile),
"%s/tmp_idx_XXXXXX", get_object_directory());
idx_fd = mkstemp(tmpfile);
if (idx_fd < 0)
die("Can't create %s: %s", tmpfile, strerror(errno));
idx_fd = xmkstemp(tmpfile);
f = sha1fd(idx_fd, tmpfile);
sha1write(f, array, 256 * sizeof(int));
SHA1_Init(&ctx);
Expand Down
2 changes: 1 addition & 1 deletion index-pack.c
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ static const char *open_pack_file(const char *pack_name)
static char tmpfile[PATH_MAX];
snprintf(tmpfile, sizeof(tmpfile),
"%s/tmp_pack_XXXXXX", get_object_directory());
output_fd = mkstemp(tmpfile);
output_fd = xmkstemp(tmpfile);
pack_name = xstrdup(tmpfile);
} else
output_fd = open(pack_name, O_CREAT|O_EXCL|O_RDWR, 0600);
Expand Down
4 changes: 1 addition & 3 deletions merge-recursive.c
Original file line number Diff line number Diff line change
Expand Up @@ -782,9 +782,7 @@ static void create_temp(mmfile_t *src, char *path)
int fd;

strcpy(path, ".merge_file_XXXXXX");
fd = mkstemp(path);
if (fd < 0)
die("unable to create temp-file");
fd = xmkstemp(path);
if (write_in_full(fd, src->ptr, src->size) != src->size)
die("unable to write temp-file");
close(fd);
Expand Down
2 changes: 1 addition & 1 deletion pack-write.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ const char *write_idx_file(const char *index_name, struct pack_idx_entry **objec
static char tmpfile[PATH_MAX];
snprintf(tmpfile, sizeof(tmpfile),
"%s/tmp_idx_XXXXXX", get_object_directory());
fd = mkstemp(tmpfile);
fd = xmkstemp(tmpfile);
index_name = xstrdup(tmpfile);
} else {
unlink(index_name);
Expand Down
4 changes: 1 addition & 3 deletions unpack-file.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,7 @@ static char *create_temp_file(unsigned char *sha1)
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");
fd = xmkstemp(path);
if (write_in_full(fd, buf, size) != size)
die("unable to write temp-file");
close(fd);
Expand Down

0 comments on commit 7647b17

Please sign in to comment.