summaryrefslogtreecommitdiffabout
path: root/ui-patch.c
Unidiff
Diffstat (limited to 'ui-patch.c') (more/less context) (ignore whitespace changes)
-rw-r--r--ui-patch.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/ui-patch.c b/ui-patch.c
index 68ebb15..36bfae4 100644
--- a/ui-patch.c
+++ b/ui-patch.c
@@ -1,58 +1,59 @@
1/* ui-patch.c: generate patch view 1/* ui-patch.c: generate patch view
2 * 2 *
3 * Copyright (C) 2007 Lars Hjemli 3 * Copyright (C) 2007 Lars Hjemli
4 * 4 *
5 * Licensed under GNU General Public License v2 5 * Licensed under GNU General Public License v2
6 * (see COPYING for full license text) 6 * (see COPYING for full license text)
7 */ 7 */
8 8
9#include "cgit.h" 9#include "cgit.h"
10#include "html.h" 10#include "html.h"
11#include "ui-shared.h"
11 12
12static void print_line(char *line, int len) 13static void print_line(char *line, int len)
13{ 14{
14 char c = line[len-1]; 15 char c = line[len-1];
15 16
16 line[len-1] = '\0'; 17 line[len-1] = '\0';
17 htmlf("%s\n", line); 18 htmlf("%s\n", line);
18 line[len-1] = c; 19 line[len-1] = c;
19} 20}
20 21
21static void header(unsigned char *sha1, char *path1, int mode1, 22static void header(unsigned char *sha1, char *path1, int mode1,
22 unsigned char *sha2, char *path2, int mode2) 23 unsigned char *sha2, char *path2, int mode2)
23{ 24{
24 char *abbrev1, *abbrev2; 25 char *abbrev1, *abbrev2;
25 int subproject; 26 int subproject;
26 27
27 subproject = (S_ISGITLINK(mode1) || S_ISGITLINK(mode2)); 28 subproject = (S_ISGITLINK(mode1) || S_ISGITLINK(mode2));
28 htmlf("diff --git a/%s b/%s\n", path1, path2); 29 htmlf("diff --git a/%s b/%s\n", path1, path2);
29 30
30 if (is_null_sha1(sha1)) 31 if (is_null_sha1(sha1))
31 path1 = "dev/null"; 32 path1 = "dev/null";
32 if (is_null_sha1(sha2)) 33 if (is_null_sha1(sha2))
33 path2 = "dev/null"; 34 path2 = "dev/null";
34 35
35 if (mode1 == 0) 36 if (mode1 == 0)
36 htmlf("new file mode %.6o\n", mode2); 37 htmlf("new file mode %.6o\n", mode2);
37 38
38 if (mode2 == 0) 39 if (mode2 == 0)
39 htmlf("deleted file mode %.6o\n", mode1); 40 htmlf("deleted file mode %.6o\n", mode1);
40 41
41 if (!subproject) { 42 if (!subproject) {
42 abbrev1 = xstrdup(find_unique_abbrev(sha1, DEFAULT_ABBREV)); 43 abbrev1 = xstrdup(find_unique_abbrev(sha1, DEFAULT_ABBREV));
43 abbrev2 = xstrdup(find_unique_abbrev(sha2, DEFAULT_ABBREV)); 44 abbrev2 = xstrdup(find_unique_abbrev(sha2, DEFAULT_ABBREV));
44 htmlf("index %s..%s", abbrev1, abbrev2); 45 htmlf("index %s..%s", abbrev1, abbrev2);
45 free(abbrev1); 46 free(abbrev1);
46 free(abbrev2); 47 free(abbrev2);
47 if (mode1 != 0 && mode2 != 0) { 48 if (mode1 != 0 && mode2 != 0) {
48 htmlf(" %.6o", mode1); 49 htmlf(" %.6o", mode1);
49 if (mode2 != mode1) 50 if (mode2 != mode1)
50 htmlf("..%.6o", mode2); 51 htmlf("..%.6o", mode2);
51 } 52 }
52 htmlf("\n--- a/%s\n", path1); 53 htmlf("\n--- a/%s\n", path1);
53 htmlf("+++ b/%s\n", path2); 54 htmlf("+++ b/%s\n", path2);
54 } 55 }
55} 56}
56 57
57static void filepair_cb(struct diff_filepair *pair) 58static void filepair_cb(struct diff_filepair *pair)
58{ 59{