X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=diff.c;h=3e52fec18792056e230420bdeabff0f9dab5b35a;hb=af36b70ef939cc44c447a4b9cbaadd7eba9a20b1;hp=361d7c09ddfad2cb7e1589367ec74bad8f9ca67d;hpb=638ccfdf0eeabf3d985426308b2a82db6207ae28;p=git.git diff --git a/diff.c b/diff.c index 361d7c09..3e52fec1 100644 --- a/diff.c +++ b/diff.c @@ -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) @@ -132,8 +134,8 @@ static void builtin_diff(const char *name_a, int complete_rewrite) { int i, next_at, cmd_size; - const char *diff_cmd = "diff -L%s%s -L%s%s"; - const char *diff_arg = "%s %s||:"; /* "||:" is to return 0 */ + const char *const diff_cmd = "diff -L%s%s -L%s%s"; + const char *const diff_arg = "%s %s||:"; /* "||:" is to return 0 */ const char *input_name_sq[2]; const char *path0[2]; const char *path1[2]; @@ -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) @@ -781,7 +782,8 @@ static void diff_flush_raw(struct diff_filepair *p, char status[10]; if (line_termination) { - const char *err = "path %s cannot be expressed without -z"; + const char *const err = + "path %s cannot be expressed without -z"; if (strchr(p->one->path, line_termination) || strchr(p->one->path, inter_name_termination)) die(err, p->one->path);