diff options
Diffstat (limited to 'ui-patch.c')
-rw-r--r-- | ui-patch.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -11,13 +11,16 @@ | |||
11 | #include "html.h" | 11 | #include "html.h" |
12 | #include "ui-shared.h" | 12 | #include "ui-shared.h" |
13 | 13 | ||
14 | /* two commit hashes with two dots in between and termination */ | ||
15 | #define REV_RANGE_LEN 2 * GIT_MAX_HEXSZ + 3 | ||
16 | |||
14 | void cgit_print_patch(const char *new_rev, const char *old_rev, | 17 | void cgit_print_patch(const char *new_rev, const char *old_rev, |
15 | const char *prefix) | 18 | const char *prefix) |
16 | { | 19 | { |
17 | struct rev_info rev; | 20 | struct rev_info rev; |
18 | struct commit *commit; | 21 | struct commit *commit; |
19 | struct object_id new_rev_oid, old_rev_oid; | 22 | struct object_id new_rev_oid, old_rev_oid; |
20 | char rev_range[2 * 40 + 3]; | 23 | char rev_range[REV_RANGE_LEN]; |
21 | const char *rev_argv[] = { NULL, "--reverse", "--format=email", rev_range, "--", prefix, NULL }; | 24 | const char *rev_argv[] = { NULL, "--reverse", "--format=email", rev_range, "--", prefix, NULL }; |
22 | int rev_argc = ARRAY_SIZE(rev_argv) - 1; | 25 | int rev_argc = ARRAY_SIZE(rev_argv) - 1; |
23 | char *patchname; | 26 | char *patchname; |
@@ -60,7 +63,7 @@ void cgit_print_patch(const char *new_rev, const char *old_rev, | |||
60 | if (is_null_oid(&old_rev_oid)) { | 63 | if (is_null_oid(&old_rev_oid)) { |
61 | memcpy(rev_range, oid_to_hex(&new_rev_oid), GIT_SHA1_HEXSZ + 1); | 64 | memcpy(rev_range, oid_to_hex(&new_rev_oid), GIT_SHA1_HEXSZ + 1); |
62 | } else { | 65 | } else { |
63 | sprintf(rev_range, "%s..%s", oid_to_hex(&old_rev_oid), | 66 | xsnprintf(rev_range, REV_RANGE_LEN, "%s..%s", oid_to_hex(&old_rev_oid), |
64 | oid_to_hex(&new_rev_oid)); | 67 | oid_to_hex(&new_rev_oid)); |
65 | } | 68 | } |
66 | 69 | ||