diff options
author | Holger Eitzenberger <holger@my-eitzenberger.de> | 2005-08-04 22:49:49 +0200 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-08-05 23:06:58 -0700 |
commit | 64f8a631e1112efdd4d4236442d59fe871da4bac (patch) | |
tree | d0560b5e6a545db2f8ec3c7bedfbe982e7b9827c /diff.c | |
parent | f2db68eda89f2fbe7e4c1a69a3c10b25ea43667c (diff) | |
download | git-64f8a631e1112efdd4d4236442d59fe871da4bac.tar.gz git-64f8a631e1112efdd4d4236442d59fe871da4bac.tar.xz |
[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>
Diffstat (limited to 'diff.c')
-rw-r--r-- | diff.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -41,11 +41,13 @@ static const char *external_diff(void) return external_diff_cmd; } +#define TEMPFILE_PATH_LEN 50 + static struct diff_tempfile { const char *name; /* filename external diff should read from */ char hex[41]; char mode[10]; - char tmp_path[50]; + char tmp_path[TEMPFILE_PATH_LEN]; } diff_temp[2]; static int count_lines(const char *filename) @@ -421,8 +423,7 @@ static void prep_temp_blob(struct diff_tempfile *temp, { int fd; - strcpy(temp->tmp_path, ".diff_XXXXXX"); - fd = mkstemp(temp->tmp_path); + fd = git_mkstemp(temp->tmp_path, TEMPFILE_PATH_LEN, ".diff_XXXXXX"); if (fd < 0) die("unable to create temp-file"); if (write(fd, blob, size) != size) |