summaryrefslogtreecommitdiffabout
path: root/ui-diff.c
authorLars Hjemli <hjemli@gmail.com>2008-02-16 10:53:40 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2008-02-16 11:07:28 (UTC)
commitd14d77fe95c3b6224b40df9b101dded0deea913c (patch) (unidiff)
tree7e0d9c8f2c0f86b8946aea0bb823085c33b164b3 /ui-diff.c
parente5ed227ef0da561e2bde8646ec816842392377ee (diff)
downloadcgit-d14d77fe95c3b6224b40df9b101dded0deea913c.zip
cgit-d14d77fe95c3b6224b40df9b101dded0deea913c.tar.gz
cgit-d14d77fe95c3b6224b40df9b101dded0deea913c.tar.bz2
Introduce struct cgit_context
This struct will hold all the cgit runtime information currently found in a multitude of global variables. The first cleanup removes all querystring-related variables. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'ui-diff.c') (more/less context) (ignore whitespace changes)
-rw-r--r--ui-diff.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/ui-diff.c b/ui-diff.c
index 4fcf852..263a7ba 100644
--- a/ui-diff.c
+++ b/ui-diff.c
@@ -62,31 +62,31 @@ static void header(unsigned char *sha1, char *path1, int mode1,
62 abbrev1 = xstrdup(find_unique_abbrev(sha1, DEFAULT_ABBREV)); 62 abbrev1 = xstrdup(find_unique_abbrev(sha1, DEFAULT_ABBREV));
63 abbrev2 = xstrdup(find_unique_abbrev(sha2, DEFAULT_ABBREV)); 63 abbrev2 = xstrdup(find_unique_abbrev(sha2, DEFAULT_ABBREV));
64 htmlf("<br/>index %s..%s", abbrev1, abbrev2); 64 htmlf("<br/>index %s..%s", abbrev1, abbrev2);
65 free(abbrev1); 65 free(abbrev1);
66 free(abbrev2); 66 free(abbrev2);
67 if (mode1 != 0 && mode2 != 0) { 67 if (mode1 != 0 && mode2 != 0) {
68 htmlf(" %.6o", mode1); 68 htmlf(" %.6o", mode1);
69 if (mode2 != mode1) 69 if (mode2 != mode1)
70 htmlf("..%.6o", mode2); 70 htmlf("..%.6o", mode2);
71 } 71 }
72 html("<br/>--- a/"); 72 html("<br/>--- a/");
73 if (mode1 != 0) 73 if (mode1 != 0)
74 cgit_tree_link(path1, NULL, NULL, cgit_query_head, 74 cgit_tree_link(path1, NULL, NULL, ctx.qry.head,
75 sha1_to_hex(old_rev_sha1), path1); 75 sha1_to_hex(old_rev_sha1), path1);
76 else 76 else
77 html_txt(path1); 77 html_txt(path1);
78 html("<br/>+++ b/"); 78 html("<br/>+++ b/");
79 if (mode2 != 0) 79 if (mode2 != 0)
80 cgit_tree_link(path2, NULL, NULL, cgit_query_head, 80 cgit_tree_link(path2, NULL, NULL, ctx.qry.head,
81 sha1_to_hex(new_rev_sha1), path2); 81 sha1_to_hex(new_rev_sha1), path2);
82 else 82 else
83 html_txt(path2); 83 html_txt(path2);
84 } 84 }
85 html("</div>"); 85 html("</div>");
86} 86}
87 87
88static void filepair_cb(struct diff_filepair *pair) 88static void filepair_cb(struct diff_filepair *pair)
89{ 89{
90 header(pair->one->sha1, pair->one->path, pair->one->mode, 90 header(pair->one->sha1, pair->one->path, pair->one->mode,
91 pair->two->sha1, pair->two->path, pair->two->mode); 91 pair->two->sha1, pair->two->path, pair->two->mode);
92 if (S_ISGITLINK(pair->one->mode) || S_ISGITLINK(pair->two->mode)) { 92 if (S_ISGITLINK(pair->one->mode) || S_ISGITLINK(pair->two->mode)) {
@@ -98,25 +98,25 @@ static void filepair_cb(struct diff_filepair *pair)
98 } 98 }
99 if (cgit_diff_files(pair->one->sha1, pair->two->sha1, print_line)) 99 if (cgit_diff_files(pair->one->sha1, pair->two->sha1, print_line))
100 cgit_print_error("Error running diff"); 100 cgit_print_error("Error running diff");
101} 101}
102 102
103void cgit_print_diff(const char *new_rev, const char *old_rev, const char *prefix) 103void cgit_print_diff(const char *new_rev, const char *old_rev, const char *prefix)
104{ 104{
105 enum object_type type; 105 enum object_type type;
106 unsigned long size; 106 unsigned long size;
107 struct commit *commit, *commit2; 107 struct commit *commit, *commit2;
108 108
109 if (!new_rev) 109 if (!new_rev)
110 new_rev = cgit_query_head; 110 new_rev = ctx.qry.head;
111 get_sha1(new_rev, new_rev_sha1); 111 get_sha1(new_rev, new_rev_sha1);
112 type = sha1_object_info(new_rev_sha1, &size); 112 type = sha1_object_info(new_rev_sha1, &size);
113 if (type == OBJ_BAD) { 113 if (type == OBJ_BAD) {
114 cgit_print_error(fmt("Bad object name: %s", new_rev)); 114 cgit_print_error(fmt("Bad object name: %s", new_rev));
115 return; 115 return;
116 } 116 }
117 if (type != OBJ_COMMIT) { 117 if (type != OBJ_COMMIT) {
118 cgit_print_error(fmt("Unhandled object type: %s", 118 cgit_print_error(fmt("Unhandled object type: %s",
119 typename(type))); 119 typename(type)));
120 return; 120 return;
121 } 121 }
122 122