diff options
| -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 | ||
