[PATCH] git: use git_mkstemp() instead of mkstemp() for diff generation.
This lets you run git diff in a repository otherwise read-only to you. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
f2db68eda8
commit
64f8a631e1
7
diff.c
7
diff.c
@ -41,11 +41,13 @@ static const char *external_diff(void)
|
|||||||
return external_diff_cmd;
|
return external_diff_cmd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define TEMPFILE_PATH_LEN 50
|
||||||
|
|
||||||
static struct diff_tempfile {
|
static struct diff_tempfile {
|
||||||
const char *name; /* filename external diff should read from */
|
const char *name; /* filename external diff should read from */
|
||||||
char hex[41];
|
char hex[41];
|
||||||
char mode[10];
|
char mode[10];
|
||||||
char tmp_path[50];
|
char tmp_path[TEMPFILE_PATH_LEN];
|
||||||
} diff_temp[2];
|
} diff_temp[2];
|
||||||
|
|
||||||
static int count_lines(const char *filename)
|
static int count_lines(const char *filename)
|
||||||
@ -421,8 +423,7 @@ static void prep_temp_blob(struct diff_tempfile *temp,
|
|||||||
{
|
{
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
strcpy(temp->tmp_path, ".diff_XXXXXX");
|
fd = git_mkstemp(temp->tmp_path, TEMPFILE_PATH_LEN, ".diff_XXXXXX");
|
||||||
fd = mkstemp(temp->tmp_path);
|
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
die("unable to create temp-file");
|
die("unable to create temp-file");
|
||||||
if (write(fd, blob, size) != size)
|
if (write(fd, blob, size) != size)
|
||||||
|
Loading…
Reference in New Issue
Block a user