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 1da0a27..d93426b 100644
--- a/ui-patch.c
+++ b/ui-patch.c
@@ -1,57 +1,58 @@
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 11
11static void print_line(char *line, int len) 12static void print_line(char *line, int len)
12{ 13{
13 char c = line[len-1]; 14 char c = line[len-1];
14 15
15 line[len-1] = '\0'; 16 line[len-1] = '\0';
16 htmlf("%s\n", line); 17 htmlf("%s\n", line);
17 line[len-1] = c; 18 line[len-1] = c;
18} 19}
19 20
20static void header(unsigned char *sha1, char *path1, int mode1, 21static void header(unsigned char *sha1, char *path1, int mode1,
21 unsigned char *sha2, char *path2, int mode2) 22 unsigned char *sha2, char *path2, int mode2)
22{ 23{
23 char *abbrev1, *abbrev2; 24 char *abbrev1, *abbrev2;
24 int subproject; 25 int subproject;
25 26
26 subproject = (S_ISGITLINK(mode1) || S_ISGITLINK(mode2)); 27 subproject = (S_ISGITLINK(mode1) || S_ISGITLINK(mode2));
27 htmlf("diff --git a/%s b/%s\n", path1, path2); 28 htmlf("diff --git a/%s b/%s\n", path1, path2);
28 29
29 if (is_null_sha1(sha1)) 30 if (is_null_sha1(sha1))
30 path1 = "dev/null"; 31 path1 = "dev/null";
31 if (is_null_sha1(sha2)) 32 if (is_null_sha1(sha2))
32 path2 = "dev/null"; 33 path2 = "dev/null";
33 34
34 if (mode1 == 0) 35 if (mode1 == 0)
35 htmlf("new file mode %.6o\n", mode2); 36 htmlf("new file mode %.6o\n", mode2);
36 37
37 if (mode2 == 0) 38 if (mode2 == 0)
38 htmlf("deleted file mode %.6o\n", mode1); 39 htmlf("deleted file mode %.6o\n", mode1);
39 40
40 if (!subproject) { 41 if (!subproject) {
41 abbrev1 = xstrdup(find_unique_abbrev(sha1, DEFAULT_ABBREV)); 42 abbrev1 = xstrdup(find_unique_abbrev(sha1, DEFAULT_ABBREV));
42 abbrev2 = xstrdup(find_unique_abbrev(sha2, DEFAULT_ABBREV)); 43 abbrev2 = xstrdup(find_unique_abbrev(sha2, DEFAULT_ABBREV));
43 htmlf("index %s..%s", abbrev1, abbrev2); 44 htmlf("index %s..%s", abbrev1, abbrev2);
44 free(abbrev1); 45 free(abbrev1);
45 free(abbrev2); 46 free(abbrev2);
46 if (mode1 != 0 && mode2 != 0) { 47 if (mode1 != 0 && mode2 != 0) {
47 htmlf(" %.6o", mode1); 48 htmlf(" %.6o", mode1);
48 if (mode2 != mode1) 49 if (mode2 != mode1)
49 htmlf("..%.6o", mode2); 50 htmlf("..%.6o", mode2);
50 } 51 }
51 htmlf("\n--- a/%s\n", path1); 52 htmlf("\n--- a/%s\n", path1);
52 htmlf("+++ b/%s\n", path2); 53 htmlf("+++ b/%s\n", path2);
53 } 54 }
54} 55}
55 56
56static void filepair_cb(struct diff_filepair *pair) 57static void filepair_cb(struct diff_filepair *pair)
57{ 58{